Java流程控制——break、continue、goto
阿新 • • 發佈:2022-03-30
break
在任何迴圈語句的主體部分,均可用break控制迴圈的流程。break用於強行退出迴圈,不執行迴圈中剩餘的語句。(breake語句也可在switch語句中使用)
package com.cheng.struct; public class BreakDemo { public static void main(String[] args) { int i = 0; while(i<100){ i++; System.out.println(i); if(i==30){ break; } } System.out.println("被終止!"); } }
continue
用在迴圈語句中,用於終止某次迴圈過程,即跳過迴圈體中尚未執行的語句,接著進行下一次是否執行迴圈的判定。
package com.cheng.struct; public class ContinueDemo { public static void main(String[] args) { int i = 0; while(i<100){ i++; if(i%10==0){ System.out.println(); continue; } System.out.print(i); } } }
goto(瞭解即可,Java不用)
- goto關鍵字很早就在程式設計語言中出現。儘管goto仍是Java的一個保留字,但並未在語言中得到正式使用;Java沒有goto。然而,在break和continue這兩個關鍵字的身上,我們仍然能看出一些goto的影子——帶標籤的break和continue。
- “標籤”是指後面跟一個冒號的識別符號,例如:label:
- 對Java來說唯一用到標籤的地方是在迴圈語句之前,而在迴圈之前設定標籤的唯一理由是:我們希望在其中巢狀另一個迴圈,由於break和continue關鍵字通常只終端當前迴圈,但若隨同標籤使用,它們就會中斷到存在標籤的地方。
package com.cheng.struct; public class LabelDemo { public static void main(String[] args) { //列印101~150之間所有的質數 int count = 0; //不建議使用 outer:for(int i=101;i<150;i++){ for(int j=2;j<i/2;j++){ if(i%j == 0){ continue outer; } } System.out.print(i+" "); } } }