• java中如何使用break跳出多重循环


    java 中已知的三种跳出多重循环的方式:

    [html] view plain copy
     
    1. System.out.println("---------java中跳出多重循环的三种方式:---------");  
    2.        System.out.println("---------第一种,使用带有标号的的break语句---------");  
    3.        String a1 = "";  
    4.        String b1 = "";  
    5.        here:  
    6.        for (int i = 1; i <= 4; i++) {  
    7.            a1 = "外层循环第"+i+"层";  
    8.            for (int j = 1; j <= 4; j++) {  
    9.                b1 = "内层循环第"+j+"层";  
    10.                if (2 == j & 2 == i) {  
    11.                    break here;  
    12.                }  
    13.            }  
    14.        }  
    15.        System.out.println(a1+b1);  
    16.        System.out.println("---------第二种,外层的循环条件收到内层的代码控制限制---------");  
    17.        String a2 = "";  
    18.        String b2 = "";  
    19.        Boolean state =  true;  
    20.        for (int i = 1; i <= 4 && state; i++) {  
    21.            a2 = "外层循环第"+i+"层";  
    22.            for (int j = 1; j <= 4 && state; j++) {  
    23.                b2 = "内层循环第"+j+"层";  
    24.                if (2 == j & 2 == i) {  
    25.                    state = false;  
    26.                }  
    27.            }  
    28.        }  
    29.        System.out.println(a2+b2);  
    30.        System.out.println("---------第三种,使用try/catch强制跳出循环---------");  
    31.        String a3 = "";  
    32.        String b3 = "";  
    33.        try {  
    34.            for (int i = 1; i <= 3; i++) {  
    35.                a3 = "外层循环第"+i+"层";  
    36.                for (int j = 1; j <= 3; j++) {  
    37.                    b3 = "内层循环第"+j+"层";  
    38.                    if (2 == j & 2 == i) {  
    39.                        throw new Exception();  
    40.                    }  
    41.                }  
    42.            }  
    43.        } catch (Exception e) {  
    44.            System.out.println(a3+b3);  
    45.        }  
    46.        System.out.println("---------java中跳出多重循环的两种方式---------");  

    最后输出结果如下:

    总结: 其实在工作中用到的最多的也最可行的是使用第一种方式:在java中,break作为”goto“使用,说明:break语句除了在switch语句和循环中使用之外,它还能作为goto 语句的一种“文明”形式来使用。Java 中没有 goto 语句,因为goto 语句提供了一种改变程序运行流程的非结构化方式。这通常使程序难以理解和难于维护。它也阻止了某些编译器的优化。但是,有些地方goto 语句对于构造流程控制是有用的而且是合法的。例如,从嵌套很深的循环中退出时, goto 语句就很有帮助。因此,Java 定义了break 语句的一种扩展形式来处理这种情况。通过使用这种形式的break,你可以终止一个或者几个代码块。这些代码块不必是一个循环或一个switch语句的一部分,它们可以是任何的块。而且,由于这种形式的break 语句带有标签,你可以明确指定执行从何处重新开始。你将看到,break带给你的是goto 的益处,并舍弃了goto 语句带来的麻烦(引用);

         需要注意的是:Java中的标签就是一个紧跟着“:”的标识符。与其他语言不通,Java语言的标签必须放在循环前面才有作用。就不要想着能像传送门有一样随心所欲的跳了

  • 相关阅读:
    poj 1850/poj 1496
    poj 1035
    poj 3252
    hdoj 1013
    poj 2965
    poj 1844
    poj 2309
    蓝桥杯比赛回来后计划。。。
    山大实训第二周感想
    hadoop——Map/Reduce中combiner的使用
  • 原文地址:https://www.cnblogs.com/lwfast/p/8567585.html
Copyright © 2020-2023  润新知