美文网首页
带标签的break

带标签的break

作者: 秋_落 | 来源:发表于2019-06-07 14:55 被阅读0次

文章发布地址:https://blog.qiuluo.xin/2019/01/09/%E5%B8%A6%E6%A0%87%E7%AD%BE%E7%9A%84break/

在跳出循环或switch时,经常会用到break语句,然而break只能跳出当前所在的循环。

要想跳出n层循环之外,使用自定义的标记变量太过繁琐且容易出错,还好java提供了带标签的break语句。

java的标签只能定义在语句块的上方,比如while、for循环至上。如下面的lab0lab1的形式定义。可以直接在内层使用break lable跳出指定的代码块。

lab0:
for (int i = 0; i < 10; i++){
    lab1:
    for (int j = 0; j < 10; j++){
        for (int k = 0; k < 10; k++){
            System.out.println(k);
            if (k == 5) break lab1;
        }
    }
}

事实上,标签不止可以定义在循环上,它可以定义在任何代码块上,从而使用break跳转。比如下面的情况都可以使用break lable进行跳转。

// if也可以使用标签标记。
out:
if (value == 10){
    if (flag == true){
        break out;
    }
    System.out.println("一句话 value: "+value);
}
System.out.println("结束 value:"+value);
// 执行后当value等于10时,不会输出`跳出内圈`,而是直接跳出整个代码块结束程序。
sta:
{
    System.out.println("外");
    {
        if (value == 10){
            break sta;
        }
        System.out.println("内");
    }
    System.out.println("跳出内圈");
}

注意:使用break lable进行跳转时,只能从内层跳转到外层语句块,而不能从外层调到内层或平行的代码块。

这样就避免了使break变成goto语句。

同时,除了有带标签的break外,java中还有带标签的continue,可以跳转到指定循环的首部,而不跳转到当前循环的首部。

相关文章

  • 8.3-跳转语句

    一、break语句——终止循环 break \\不带标签 break label \\带标签跳转,label是标签...

  • 带标签的break

    文章发布地址:https://blog.qiuluo.xin/2019/01/09/%E5%B8%A6%E6%A0...

  • 循环语句补充

    一、break语句(跳出语句) 只能作用于switch和循环语句中。 不带标签的break语句 带标签的不带标签的...

  • swift 控制转移语句

    控制转移语句 continue,break,fallthrough,return,带标签的语句 continue ...

  • Java带标签的break语句

    Java中,break语句相信大伙都会非常熟悉,它的作用就是终结循环,但是普通的不带标签的break语句只能终结最...

  • 带标签的break与continue

    break只结束所在循环体的循环带标签的break会结束标签所在循环体的循环

  • Java基础—break label 带标签的break语句的用

    是这样的,今天看RocketMQ的Client的时候,里面出现了一个写Java没有看到过的东西 - - 记录一下。...

  • ECMAScript语句

    标签语句 break语句和continue语句都可以与有标签的语句联合使用,并且标签要在break,continu...

  • JavaScript 带标签和不带标签的 break 语句,co

    1.break语句和continue语句都可以让代码不按既有的顺序执行,具有跳转作用。 (1) break语句用...

  • break 和 continue的使用

    概念 break:用于跳出循环; continue:用于跳过循环中的一个迭代。 标签 break:不带标签引用,只...

网友评论

      本文标题:带标签的break

      本文链接:https://www.haomeiwen.com/subject/ocgmxctx.html