1. 程式人生 > >java中的 break continue return作用詳解

java中的 break continue return作用詳解

break: 此語句導致程式終止包含它的迴圈,並進行程式的下一階段(整個迴圈後面的語句),即,不是跳到下一個迴圈週期而是退出迴圈。如果break語句包含在巢狀迴圈裡,它只跳出最裡面的迴圈。

如下程式碼:

public class Test {
    public static void main(String[] args) {
        for(int i=0; i<10; i++){
            if(i==5){
                break;
            }
            System.out.print(i+" ");
        }
    }
}

  

可以看到程式輸出了01234到5的時候跳出了迴圈

 

 

continue:迴圈語句裡有此語句時,程式執行到此語句時,不在執行迴圈體裡continue後面的語句而是跳到下一個迴圈入口處執行下一個迴圈。

把break改為continue

public class Test {
    public static void main(String[] args) {
        for(int i=0; i<10; i++){
            if(i==5){
                continue;
            }
            System.out.print(i+" ");
        }
    }
}

  

可以看到只有5沒有輸出,也即當i=5時沒有執行列印操作,直接到下一次迴圈

 

而return是表示從被調函式返回到主調函式繼續執行,返回時可附帶一個返回值,由return後面的引數指定。return後函式就結束了,後面的語句不再執行

public class Test {
    public static void fun(){
        for(int i=0; i<10; i++){
            if(i==5){
                return;
            }
            System.out.print(i
+" "); } System.out.println("hello"); } public static void main(String[] args) { fun(); } }

可以看到後面的hello並沒有打印出來

 

 

總結:

break和continue都是中斷當前的迴圈(注意,迴圈是可以巢狀的,中斷的只是當前層的迴圈)
break語句中斷迴圈後跳轉到迴圈後的語句標籤執行(Before),
而continue則跳轉到迴圈入口語句標籤執行(After)

return 作用是,將函式呼叫棧彈棧,恢復現場。說的簡單點兒就是結束當前的函式(順便返回函式執行結果),回到本函式被呼叫處繼續執行