Java中break、continue及標簽等跳轉語句的使用[上]


java 中跳轉語句使用break、continue和標簽,各自或組合完成相應的功能。

今天做題時遇到關於標簽命名規范,順便將跳轉語句語法都看了一遍,很有收獲。

在《Java編程思想》一書中,作者詳細闡述,現將案例代碼寫在下面:

public class LabeledFor {

    public static void main(String[] args) {
        int i=0;
        outer:
            for(;true;){
                inner:
                    for(;i<10;i++){
                        System.out.println("i="+i);
                        if(i==2){
                            System.out.println("continue");
                            continue;
                        }
                        if(i==3){
                            System.out.println("break");
                            i++;    //otherwise i never gets incremented
                            break;
                        }
                        if(i==7){
                            System.out.println("continue outer");
                            i++;    //otherwise i never gets incremented
                            continue outer;
                        }
                        if(i==8){
                            System.out.println("break outer");
                            break outer;
                        }
                        for(int k=0;k<5;k++){
                            if(k==3){
                                System.out.println("continue inner");
                                continue inner;
                            }
                        }
                    }
            }

    }

}

運行結果見下圖:

i=0
continue inner
i=1
continue inner
i=2
continue
i=3
break
i=4
continue inner
i=5
continue inner
i=6
continue inner
i=7
continue outer
i=8
break outer

  自認為比較重要的一點是,break中斷for循環,而且是在抵達for循環的末尾之前,也就是說,遞增表達式將不會執行。continue確不會跳過遞增語句。

  同樣的,這個例子中,當i==7的情況下,continue outer語句會跳到循環頂部,而且也會跳過遞增。

  如果沒有break outer,就沒有辦法從內部循環里跳出外部循環。這是由於break本身只能中斷最內層的循環(continue同樣如此)。

  如果想中斷同時退出,簡單地用一個return即可。


免責聲明!

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



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