學習Java之對關鍵字break和continue的一點理解
阿新 • • 發佈:2018-11-29
我們都知道關鍵字 ——
- break 是 預設跳出當前距離此 break 最近的一個 for / while 迴圈語句塊 或 switch 開關語句塊;
例-1:跳出迴圈
for(;;) {
while(true) {
break;//退出離此break最近的包裹著此break的一層迴圈(這裡是while),去執行while外面的程式碼,此處是for迴圈 ** 重要註釋
}
}
例-2:跳出switch開關語句
enum Signal{ Green, Yellow, Red } Signal signal = Signal.Green; Signal color = null; switch(signal) { case Green : color = Signal.Green; break; // 退出switch case Yellow : color = Signal.Yellow; break; // 退出switch case Red : color = Signal.Red; break; // 退出整個switch default : break; // 退出整個switch }
- continue 是 使用在 迴圈條件中的關鍵字(使用場合),continue 使 它後面的事務指令程式碼被跳過執行(不執行),直接去執行距離 此continue 最近的且包裹著它的 迴圈語句塊的迴圈條件判斷語句 —— 即迴圈關鍵字 - while / for 後面緊跟著的括號中的邏輯判斷語句,此語句為真(true),則繼續執行這個迴圈;此語句為假(false),則終止當前要執行的迴圈語句塊,去執行緊接著此迴圈語句塊的後面的語句指令。
例-3:continue 條件滿足 - 繼續執行正在執行的迴圈語句塊的下一次的迴圈操作;tiao條件不滿足 - 終止此迴圈
boolean flag = true; //迴圈條件滿足的情形 while(flag) { if(flag) { flag = true; // continue; // 跳過while迴圈語句塊中在此continue後面的語句,去直接執行while的迴圈條件判斷語句 flag = false; // 此句及後面的輸出語句將被跳過執行 } System.out.println("aaaa"); } boolean tag = true; //不能繼續迴圈,終止當前迴圈,去執行此迴圈語句塊後面的語句 for(;;tag) { if(tag) { tag = false; //終止迴圈的條件 continue; // 跳過 for 迴圈語句塊中在此continue後面的語句,去直接執行 for 的迴圈條件判斷語句 tag = true; // 此句及後面的輸出語句將被跳過執行 } System.out.println("aaaa"); } //跳出 for迴圈體 後,被執行的指令語句 System.out.println("Hello, I have been executed....");
注:這裡的例子中的註釋,更形象的說明的 continue / break 的作用,應注意閱讀。
continue 和 beak 還能 跳到 指定的 標誌(語法——自定義名+冒號(:),如 - condition: )
先簡單寫點 continue 和 break 的主要區別:使用的場景不同
- break - 可以使用在 for/while迴圈和switch開關語句塊中;
- continue - 只能用在 for/while迴圈中。
實際上 continue 和 break 就相當於 已經有預設條件的 goto 指令。