java 中的三種跳出多重循環的方式

  java 中已知的三種跳出多重循環的方式:

 System.out.println("---------java中跳出多重循環的三種方式:---------");
        System.out.println("---------第一種,使用帶有標號的的break語句---------");
        String a1 = "";
        String b1 = "";
        here:
        for (int i = 1; i <= 4; i++) {
            a1 = "外層循環第"+i+"層";
            for (int j = 1; j <= 4; j++) {
                b1 = "內層循環第"+j+"層";
                if (2 == j & 2 == i) {
                    break here;
                }
            }
        }
        System.out.println(a1+b1);
        System.out.println("---------第二種,外層的循環條件收到內層的代碼控制限制---------");
        String a2 = "";
        String b2 = "";
        Boolean state =  true;
        for (int i = 1; i <= 4 && state; i++) {
            a2 = "外層循環第"+i+"層";
            for (int j = 1; j <= 4 && state; j++) {
                b2 = "內層循環第"+j+"層";
                if (2 == j & 2 == i) {
                    state = false;
                }
            }
        }
        System.out.println(a2+b2);
        System.out.println("---------第三種,使用try/catch強制跳出循環---------");
        String a3 = "";
        String b3 = "";
        try {
            for (int i = 1; i <= 3; i++) {
                a3 = "外層循環第"+i+"層";
                for (int j = 1; j <= 3; j++) {
                    b3 = "內層循環第"+j+"層";
                    if (2 == j & 2 == i) {
                        throw new Exception();
                    }
                }
            }
        } catch (Exception e) {
            System.out.println(a3+b3);
        }
        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語言的標籤必須放在循環前面纔有作用。就不要想着能像傳送門有一樣隨心所欲的跳了大笑



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章