java中的 break continue return作用詳解
阿新 • • 發佈:2018-12-22
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 作用是,將函式呼叫棧彈棧,恢復現場。說的簡單點兒就是結束當前的函式(順便返回函式執行結果),回到本函式被呼叫處繼續執行