美文网首页
continue label与break label的区别

continue label与break label的区别

作者: 懵逼猴 | 来源:发表于2019-11-22 16:19 被阅读0次

    验证代码

    public static void main(String[] args) {
            System.out.println("break");
            for (int i = 0; i < 2; i++) {
                for (int j = 0; j < 10; j++) {
                    if (j == 5) {
                        break;
                    }
                    System.out.println(i + ":" + j);
                }
                System.out.println("outer");
            }
            System.out.println("continue");
            for (int i = 0; i < 2; i++) {
                for (int j = 0; j < 10; j++) {
                    if (j == 5) {
                        continue;
                    }
                    System.out.println(i + ":" + j);
                }
                System.out.println("outer");
            }
            System.out.println("breakLabel");
            breakLabel:
            for (int i = 0; i < 2; i++) {
                for (int j = 0; j < 10; j++) {
                    if (j == 5) {
                        break breakLabel;
                    }
                    System.out.println(i + ":" + j);
                }
                System.out.println("outer");
            }
            System.out.println("continueLabel");
            continueLabel:
            for (int i = 0; i < 2; i++) {
                for (int j = 0; j < 10; j++) {
                    if (j == 5) {
                        continue continueLabel;
                    }
                    System.out.println(i + ":" + j);
                }
                System.out.println("outer");
            }
        }
    

    执行结果

    break
    0:0
    0:1
    0:2
    0:3
    0:4
    outer
    1:0
    1:1
    1:2
    1:3
    1:4
    outer
    continue
    0:0
    0:1
    0:2
    0:3
    0:4
    0:6
    0:7
    0:8
    0:9
    outer
    1:0
    1:1
    1:2
    1:3
    1:4
    1:6
    1:7
    1:8
    1:9
    outer
    breakLabel
    0:0
    0:1
    0:2
    0:3
    0:4
    continueLabel
    0:0
    0:1
    0:2
    0:3
    0:4
    1:0
    1:1
    1:2
    1:3
    1:4
    

    结论

    break和continue和简单不说

    1. break label跳到标签出并且结束整个循环
    2. continue label 跳到标签出开始,结束本次循环,进入下一次循环
    3. continue label后面的语句都不会执行(不论外层还是内层,不会输出outer);break跳出内存循环,break语句后面外层循环的语句会执行(会输出outer)。
      总而言之break结束循环,continue终止当前循环进入下一次循环,带label后只是后面要执行的起始代码位置改变了

    相关文章

      网友评论

          本文标题:continue label与break label的区别

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