循环中使用 continue 跳出本次循环

循环中使用 continue 跳出本次循环

continue 只能用在循环中,其作用是跳过循环体中剩余的语句,直接进入下一次循环的条件判断。

就好比运动场跑步,跑了一半不跑了,立即回到起点开始下一次跑。

执行流程

  1. 遇到 continue 时,跳过本次循环体中 continue 之后的所有代码
  2. 直接执行表达式3(变量改变)
  3. 回到表达式2(条件判断),决定是否继续下一次循环

基本示例:只输出能被 3 整除的数

public static void main(String[] args) {
    // 当发现不能被3整除的就跳过,只输出能被3整除的数
    for (int i = 1; i <= 100; i++) {
        if (i % 3 != 0) {
            continue; // 不能被3整除,跳过本次循环剩余代码
        }
        System.out.println(i);
    }
}Code language: JavaScript (javascript)

练习:统计 1 到 100 的数相加的总和,跳过所有个位数是 3 的数

个位数是 3 的数有:3、13、23、33、43、53、63、73、83、93。这些数不参与累加。

public static void main(String[] args) {
    int total = 0;
    for (int i = 1; i <= 100; i++) {
        if (i % 10 == 3) {
            continue; // 个位数是3,跳过本次循环,不累加
        }
        total += i;
    }
    System.out.println("跳过个位数是3的数后,总和为:" + total);
}Code language: JavaScript (javascript)

输出结果:4597(1到100总和为5050,减去所有个位数是3的数的和453)

break 与 continue 对比

关键字作用后续循环
break立即终止整个循环不再执行任何一次
continue跳过本次循环剩余代码继续下一次循环

在 while 和 do-while 中的注意事项

continue 在 while 和 do-while 中使用时需格外注意循环变量更新的位置,避免死循环:

// 正确写法:变量更新在 continue 之前
int i = 0;
while (i < 10) {
    i++;
    if (i % 2 == 0) {
        continue; // 跳过偶数
    }
    System.out.println(i);
}

// 危险写法:continue 跳过了变量更新,导致死循环
// int j = 0;
// while (j < 10) {
//     if (j % 2 == 0) {
//         continue; // j++ 永远不会执行,死循环
//     }
//     j++;
// }Code language: JavaScript (javascript)

总结:continue 适合用于”某些情况下跳过本次处理”的场景,让代码逻辑更清晰,避免深层嵌套的 if-else。在 while/do-while 中使用时要确保循环变量更新不会被 continue 跳过。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注