在 Java 中,break 默认只能跳出当前所在的那一层循环。如果要中断嵌套循环,常见有以下几种方式:
break(推荐,最常用)Java 支持标签(label),可以用来指定跳出哪一层循环。
outer: // 标签名随便起
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
if (i == 2 && j == 3) {
break outer; // 直接跳出外层循环
}
System.out.println(i + " " + j);
}
}
✅ 效果:
当 i == 2 && j == 3 时,直接结束整个嵌套循环
boolean flag = false;
for (int i = 0; i < 5 && !flag; i++) {
for (int j = 0; j < 5; j++) {
if (i == 2 && j == 3) {
flag = true;
break;
}
System.out.println(i + " " + j);
}
}
✅ 适合不习惯 label的人
❌ 代码稍啰嗦
returnpublic static void test() {
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
if (i == 2 && j == 3) {
return; // 直接结束方法
}
System.out.println(i + " " + j);
}
}
}
✅ 逻辑清晰
✅ 适合复杂逻辑
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
if (j == 3) {
break; // ❌ 只跳出内层循环
}
}
}
| 方式 | 是否推荐 | 说明 |
|---|---|---|
| 标签 break | ⭐⭐⭐⭐⭐ | 最直接、最清晰 |
| 布尔变量 | ⭐⭐⭐⭐ | 易读、无 label |
| return | ⭐⭐⭐⭐ | 方法封装好 |
| 普通 break | ⭐ | 只能一层 |
如果你有具体代码场景,我可以帮你改成最合适的写法。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。