验证码: 看不清楚,换一张 查询 注册会员,免验证
  • {{ basic.site_slogan }}
  • 打开微信扫一扫,
    您还可以在这里找到我们哟

    关注我们

Java Break 如何中断标签循环

阅读:890 来源:乙速云 作者:代码code

Java Break 如何中断标签循环

在 Java 中,break 可以配合“标签(label)”来中断指定的外层循环,这是 Java 中跳出多层循环的一种常见方式。


一、基本语法

labelName:
for (...) {
    for (...) {
        if (condition) {
            break labelName; // 跳出 labelName 指定的循环
        }
    }
}

关键点

  • 标签名后面必须跟冒号 :
  • break labelName; 会直接跳出 标签所标记的循环
  • 标签只能用在 循环语句前

二、示例代码

示例 1:跳出外层循环

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=" + i + ", j=" + j);
    }
}

输出结果

i=0, j=0
i=0, j=1
i=0, j=2
i=1, j=0

i == 1 && j == 1 时,直接跳出 outer 循环。


三、对比:普通 break vs 标签 break

普通 break(只跳出当前循环)

for (int i = 0; i < 3; i++) {
    for (int j = 0; j < 3; j++) {
        if (i == 1 && j == 1) {
            break; // 只跳出内层循环
        }
        System.out.println("i=" + i + ", j=" + j);
    }
}

标签 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=" + i + ", j=" + j);
    }
}

四、continue 也可以配合标签

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);
    }
}

五、注意事项(面试常问)

✅ 标签只能用于 循环语句前
❌ 不能用于 ifswitch
❌ 不能跳入不存在的标签
break label; 不会重新进入循环,而是直接结束


六、替代方案(更推荐)

在实际开发中,更推荐用布尔变量或封装方法,可读性更好:

boolean found = false;
for (int i = 0; i < 3 && !found; i++) {
    for (int j = 0; j < 3; j++) {
        if (i == 1 && j == 1) {
            found = true;
            break;
        }
    }
}

如果你愿意,我也可以帮你对比 Java 标签 vs goto、或者讲 为什么很多公司不推荐用标签

分享到:
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: hlamps#outlook.com (#换成@)。
相关文章
{{ v.title }}
{{ v.description||(cleanHtml(v.content)).substr(0,100)+'···' }}
你可能感兴趣
推荐阅读 更多>