Java Break 怎样中断本次循环
在 Java 里,break 只能直接中断当前所在的循环,如果你说的是“中断本次循环、继续下一次”,那用的其实是 continue。下面把几种常见情况一次说清楚。
1️⃣ break:直接结束整个循环
break 不是中断一次,而是直接跳出循环。
for (int i = 0; i < 5; i++) {
if (i == 2) {
break; // 直接结束循环
}
System.out.println(i);
}
输出:
0
1
2️⃣ continue:中断本次循环,进入下一次 ✅(你想要的)
continue 会 跳过本次循环剩下的代码,直接进入下一次循环。
for (int i = 0; i < 5; i++) {
if (i == 2) {
continue; // 跳过 i == 2 这一次
}
System.out.println(i);
}
输出:
0
1
3
4
✅ 这是“中断本次循环”的正确用法
3️⃣ 嵌套循环:break 只中断当前层
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (j == 1) {
break; // 只跳出内层循环
}
System.out.println(i + "," + j);
}
}
4️⃣ 想一次跳出多层循环:带标签的 break
outer:
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 中遇到这个问题,也可以把代码贴出来,我可以针对你的场景具体说明。