java中continue和break區(qū)別詳細解析
1 break用于完全結束一個循環(huán),跳出循環(huán)體,執(zhí)行循環(huán)后面的語句。
2 continue是跳過當次循環(huán)中剩下的語句,執(zhí)行下一次循環(huán)。
但其實這兩句話看不出什么明顯的意思,還是要通過寫循環(huán)才能明白。
先自己運算答案,然后分別對照正確答案。
(一)執(zhí)行continueMethod1(),結果應當是
分析如下:i=0開始,i=7結束。
(1)當i = 0,接著條件判斷false,執(zhí)行“i=i+1”代碼后,i=1,所以最后控制臺輸出1.第一輪循環(huán)結束
(2)然后因為是for循環(huán),有變更條件i++,所以第二輪循環(huán)體i=2開始,接著條件判斷true,所以控制臺輸出“i的值為2,continue”。由于continue是跳出本輪循環(huán),所以屬于第二輪循環(huán)的代碼i = i+1 和System.out.println(i) 不再執(zhí)行。第二輪循環(huán)結束
(3)變更條件i++,所以第二輪循環(huán)體i=3開始,接著條件判斷false,執(zhí)行“i=i+1”代碼后,i=4,所以最后控制臺輸出4.第3輪循環(huán)結束
(4)變更條件i++,所以第4輪循環(huán)體i=5開始,接著條件判斷false,執(zhí)行“i=i+1”代碼后,i=6,所以最后控制臺輸出6.第4輪循環(huán)結束
(5)變更條件i++,所以第5輪循環(huán)體i=7開始,接著條件判斷false,執(zhí)行“i=i+1”代碼后,i=8,所以最后控制臺輸出8。此刻循環(huán)終止。
(二)執(zhí)行breakMethod1(),結果應當是
分析如下:只看for循環(huán),本來應該是i=1開始,i=7結束。
(1)當i = 0,接著條件判斷false,執(zhí)行“i=i+1”代碼后,i=1,所以最后控制臺輸出1.第一輪循環(huán)結束
(2)然后因為是for循環(huán),有變更條件i++,所以第二輪循環(huán)體i=2開始,接著條件判斷true,所以輸出“i的值為2,break”。由于完全結束一個循環(huán),跳出循環(huán)體,執(zhí)行循環(huán)后面的語句。所以整個循環(huán)直接跳出。不再循環(huán)。
(三)執(zhí)行continueMethod2(),結果應當是
分析如下 i=0開始,i=6結束。
(1)i=0,接著條件判斷為true,執(zhí)行i++后,i = 1;continue是跳出本輪循環(huán),所以下面屬于本輪循環(huán)的i++和 s += i 不再執(zhí)行,第一輪循環(huán)結束。
(2)i=1,條件判斷false,執(zhí)行i++和 s += i 代碼后,i = 2,s= 2,第2輪循環(huán)結束。
(3) i=2,條件判斷true,執(zhí)行i++后,i = 3;continue是跳出本輪循環(huán),所以下面屬于本輪循環(huán)的i++和 s += i 不再執(zhí)行,第三輪循環(huán)結束。第三輪s依然為2
(4)i=3,條件判斷false,執(zhí)行i++和 s += i 代碼后,i = 4,s= 6,第4輪循環(huán)結束。
(5) i=4,條件判斷true,執(zhí)行i++后,i = 5;continue是跳出本輪循環(huán),所以下面屬于本輪循環(huán)的i++和 s += i 不再執(zhí)行,第5輪循環(huán)結束。第三輪s依然為6
(6)i=5,條件判斷false,執(zhí)行i++和 s += i 代碼后,i = 6,s= 12,第6輪循環(huán)結束。
(7)i=6,條件判斷true,執(zhí)行i++后,i = 7;continue是跳出本輪循環(huán),所以下面屬于本輪循環(huán)的i++和 s += i 不再執(zhí)行,第三輪循環(huán)結束。第三輪s依然為12.此刻不符合while條件,所以執(zhí)行
System.out.println(s),最后控制臺結果為12。
(四)執(zhí)行breakMethod2(),結果應當是
分析如下本來應該是 i=0開始,i=6結束。
(1)i=0,接著條件判斷為true,執(zhí)行i++后,i = 1;break用于完全結束一個循環(huán),跳出循環(huán)體,執(zhí)行循環(huán)后面的語句。所以循環(huán)直接結束,s依然為0。
最后控制臺輸出0
案例分析
案例一
代碼如下(示例):
public class Test { public static void main(String[] args) { for(int i=0; i<12; i++){ if(i==5){ break; } System.out.print(i+" "); } } }
運行結果:
0 1 2 3 4
程序分析:
①程序輸出了01234 到5的時候跳出了循環(huán)。
②break語句導致程序終止包含它的循環(huán),并進行程序的下一階段(整個循環(huán)后面的語句),即:不是跳到下一個循環(huán)周期而是退出循環(huán)。如果break語句包含在嵌套循環(huán)里,它只跳出最里面的循環(huán)。
案例二
代碼如下(示例):
public class Test { public static void main(String[] args) { for(int i=0; i<12; i++){ if(i==5){ continue; } System.out.print(i+" "); } } }
運行結果:
0 1 2 3 4 6 7 8 9 10 11
程序分析:
①可以看到只有5沒有輸出,也即當i=5時沒有執(zhí)行打印操作,直接到下一次循環(huán)。
②循環(huán)語句里有continue語句時,程序運行到此語句時,不在執(zhí)行循環(huán)體里continue后面的語句而是跳到下一個循環(huán)入口處執(zhí)行下一個循環(huán)。
總結
到此這篇關于java中continue和break區(qū)別的文章就介紹到這了,更多相關java continue和break區(qū)別內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Spring Boot 2.0 設置網站默認首頁的實現(xiàn)代碼
這篇文章主要介紹了Spring Boot 2.0 設置網站默認首頁的實現(xiàn)代碼,需要的朋友可以參考下2018-04-04java substring(a)與substring(a,b)的使用說明
這篇文章主要介紹了java substring(a)與substring(a,b)的使用說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10使用Java開發(fā)實現(xiàn)OAuth安全認證的應用
這篇文章主要介紹了使用Java開發(fā)實現(xiàn)OAuth安全認證的應用的方法,OAuth安全認證經常出現(xiàn)于社交網絡API應用的相關開發(fā)中,需要的朋友可以參考下2015-11-11