本文關鍵詞:
java continue break 關鍵字 詳解 區別 用法 標記 標簽 使用 示例 聯系 跳出循環 帶標簽的continue和break 嵌套循環 深入continue break 跳出雙層循環 goto替代
continue和break都用來中斷循環,但是中斷內容不同
break是跳出循環, continue是跳出當次循環
for (int i = 0; i < 6; i++) { System.out.println(i); if (3 == i) { break; } } System.out.println("++++++++++++++++"); for (int i = 0; i < 6; i++) { System.out.println(i); if (3 == i) { continue; } }
從結果也可以看得出來:break跳出當前循環,continue跳出當次循環
詳細說明:
break在循環塊中的作用是跳出當前正在循環的循環體
continue用於結束循環體中當次循環其后語句的執行,並跳回循環程序塊的開頭執行下一次循環
如果是多層循環,原理仍舊相通,break跳出內層正在循環的循環體,continue跳回內層循環的開頭
也就是說多層循環下,break和continue仍舊是控制當前循環,並不是所有
for (int i = 0; i < 6; i++) { for (int j = 0; j < 6; j++) { if (2 == j) { break; } System.out.print(i + "----->" + j+" "); } System.out.println(); }
內層循環直接跳出中斷掉,外層循環依舊按順序執行
for (int i = 0; i < 6; i++) { for (int j = 0; j < 6; j++) { if (2 == j) { continue; } System.out.print(i + "----->" + j+" "); } System.out.println(); }
外層循環依舊,內層循環僅僅跳過了j=2的值,其他的值依舊正常循環
如果帶標簽,那么break 和continue生效的循環就不再是當前了,而是標簽指定的
label: for (int i = 0; i < 6; i++) { for (int j = 0; j < 6; j++) { if (2 == j) { break label; } System.out.print(i + "----->" + j+" "); } System.out.println(); }
直接break 標簽的循環,執行了兩次就再也沒有輸出了
label: for (int i = 0; i < 6; i++) { for (int j = 0; j < 6; j++) { if (2 == j) { continue label; } System.out.print(i + "----->" + j+" "); } System.out.println(); }
continue跳出當次循環,繼續標簽處代表的循環進行繼續執行,所以下面的System.out.println();根本都執行不到的