在 Java 里,continue 用在嵌套循环中时,有一个关键点要先记住:
continue只会跳过它所在的那一层循环,不会影响外层循环。
continuefor (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (j == 1) {
continue; // 只跳过 j == 1 时的本次内层循环
}
System.out.println("i=" + i + ", j=" + j);
}
}
输出:
i=0, j=0
i=0, j=2
i=1, j=0
i=1, j=2
i=2, j=0
i=2, j=2
✅ 外层 i 不受影响
✅ 只跳过内层 j == 1
continue 外层循环?用「标签(label)」Java 支持 带标签的 continue(类似 goto 的受控版本)
outer:
for (...) {
for (...) {
continue outer;
}
}
outer:
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (j == 1) {
continue outer; // 跳到外层循环的下一次
}
System.out.println("i=" + i + ", j=" + j);
}
}
输出:
i=0, j=0
i=1, j=0
i=2, j=0
✅ 一旦 j == 1,直接跳过整个内层循环
✅ 外层进入下一次迭代
continue vs break(嵌套对比)| 语句 | 作用范围 |
|---|---|
continue |
跳过当前循环本次 |
break |
结束当前循环 |
continue label |
跳过标签所在循环本次 |
break label |
结束标签所在循环 |
continuereturn 替代for (int i = 0; i < 3; i++) {
if (!process(i)) break;
}
如果你有具体业务场景(比如查找、过滤、矩阵遍历),我可以帮你写最合适的嵌套 continue 写法。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。