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語言的標簽必須放在循環前面才有作用。就不要想着能像傳送門有一樣隨心所欲的跳了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM