break和continue 的區別


區別

 breakcontinue都可在循環語句里面使用,也都可以控制外層的循環。但是continue只能在循環語句里面使用,break也可以使用在switch語句里面。

break具體作用在循環語句中的具體作用是,跳出當前循環,當然還可以跳出所有的循環。當前循環中break語句之后的語句都不會執行。

break跳出當前循環:

 1 public class Test {
 2     public static void main(String[] args) {
 3     //循環打印1,2,3,4
 4     for (int i = 0; i < 5; i ++) {
 5             if (i == 1) {//當i等於1的時候
 6                 break;//跳出當前循環
 7             }
 8             System.out.println(i);        
 9         }
10         
11     }
12 }
輸出結果:0

跳出所有循環:給外層循環起個別名,相當與goto

 1 public class Test {
 2     public static void main(String[] args) {
 3         go : for (int j = 0; j < 5; j++) {//外層循環別名為go
 4             //循環打印1,2,3,4
 5             for (int i = 0; i < 5; i++) {
 6                 if (i == 1) {//當i等於1的時候
 7                     break go;//跳出外層循環
 8                 }
 9                 System.out.println(i);
10             }
11         }
12     }
13 }
輸出結果:0

continue執行順序

  在for循環中先執行初始化語句-------->執行條件判斷語句-------->執行循環體中的內容-------->執行循環變量變化的語句-------->進行條件判斷-------->循環體,直到條件不滿足結束;如果在此過程中遇到continue,則返回執行循環變量變化的語句-------->執行條件判斷語句--------->執行循環體中的內容,如此循環執行,知道條件不滿足結束循環。

  在while中由於循環變量一般在最后的語句中,所以遇到continue之后不會循環變量不會發生改變(循環變量變化的語句在continue之前除外)。

 1 public class Test {
 2     public static void main(String[] args) {
 3         //循環打印1,2,3,4
 4         for (int i = 0; i < 5; i++) {
 5             if (i == 1) {//當i等於1的時候
 6                 continue;//繼續執行外層循環
 7             }
 8             System.out.print(i);
 9         }
10     }
11 }
輸出結果:0234

 

當i等於1時跳過打印操作,直接執行i++語句,再進行條件判斷

==============================================

 

 

continue控制外層循環也是給外層循環起別名:

 1  1 public class Test {
 2  2     public static void main(String[] args) {
 3  3         go : for (int j = 0; j <3; j++) {//外層循環別名為go
 4  4             //循環打印1,2,3,4
 5  5             for (int i = 0; i < 5; i++) {
 6  6                 if (i == 1) {//當i等於1的時候
 7  7                     continue go;//繼續執行外層循環
 8  8                 }
 9  9                 System.out.print(i);
10 10             }
11 11             System.out.println();//不會執行到
12 12         }
13 13     }
14 14 }
15 輸出結果:000

 

 

 

 

 

 

 

 

 

  

 


免責聲明!

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



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