在 Java 里,break 只能直接中断当前所在的循环,如果你说的是“中断本次循环、继续下一次”,那用的其实是 continue。下面把几种常见情况一次说清楚。
break:直接结束整个循环break 不是中断一次,而是直接跳出循环。
for (int i = 0; i < 5; i++) {
if (i == 2) {
break; // 直接结束循环
}
System.out.println(i);
}
输出:
0
1
continue:中断本次循环,进入下一次 ✅(你想要的)continue 会 跳过本次循环剩下的代码,直接进入下一次循环。
for (int i = 0; i < 5; i++) {
if (i == 2) {
continue; // 跳过 i == 2 这一次
}
System.out.println(i);
}
输出:
0
1
3
4
✅ 这是“中断本次循环”的正确用法
break 只中断当前层for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (j == 1) {
break; // 只跳出内层循环
}
System.out.println(i + "," + j);
}
}
breakouter:
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (i == 1 && j == 1) {
break outer; // 跳出外层循环
}
System.out.println(i + "," + j);
}
}
| 需求 | 使用 |
|---|---|
| 中断本次循环,继续下一次 | continue ✅ |
| 直接结束整个循环 | break |
| 结束多层循环 | break label |
如果你是在 while / do-while / for-each 或 Stream 中遇到这个问题,也可以把代码贴出来,我可以针对你的场景具体说明。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。