在 Java 里,continue 只能跳过当前所在的这一层循环,它本身没有像 break label 那样直接“跳出多层 continue”的语法。
如果你想要“在多层循环中,跳过外层循环的这一轮”,需要用下面几种常见方式。
continue(推荐)Java 支持 标签(label)+ continue,可以跳过指定外层循环的当前轮。
outer:
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (j == 1) {
continue outer; // 跳过外层 i 的当前轮
}
System.out.println(i + " " + j);
}
}
输出:
0 0
1 0
2 0
✅ 说明:
continue outer; → 直接跳到 outer 循环的下一轮for (...) {
for (...) {
continue; // 只能跳过当前内层
}
}
for (int i = 0; i < 3; i++) {
boolean skip = false;
for (int j = 0; j < 3; j++) {
if (j == 1) {
skip = true;
break;
}
}
if (skip) continue;
}
适合逻辑复杂、不想用 label 的情况。
for (int i = 0; i < 3; i++) {
if (needSkip(i)) continue;
}
boolean needSkip(int i) {
for (int j = 0; j < 3; j++) {
if (j == 1) return true;
}
return false;
}
| 需求 | 做法 |
|---|---|
| 跳出当前层循环 | break |
| 跳过当前层本轮 | continue |
| 跳过外层本轮 | continue label |
| 跳出多层循环 | break label |
如果你有具体代码场景(比如嵌套 for / while),我可以帮你改成最合适的写法。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。