循环中使用 continue 跳出本次循环
continue 只能用在循环中,其作用是跳过循环体中剩余的语句,直接进入下一次循环的条件判断。
就好比运动场跑步,跑了一半不跑了,立即回到起点开始下一次跑。
执行流程
- 遇到
continue时,跳过本次循环体中continue之后的所有代码 - 直接执行表达式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跳过。
Previous: 循环中使用 break 中断循环
Next: 嵌套循环