Day05_java流程控制 break、continue
阿新 • • 發佈:2020-11-18
break、continue
- break在任何迴圈語句的主體部分,均可用break控制迴圈的流程。break用於強行退出迴圈,不執行迴圈中剩餘的語句。(break語句也在switch語句中使用)
- continue語句用在迴圈語句體中,用於終止某次迴圈過程,即跳過迴圈體中尚未執行的語句,接著進行下一次是否執行迴圈的判定。
- 關於goto關鍵字
- goto關鍵字很早就在程式設計語言中出現。儘管goto仍是Java的一個保留字,但並未在語言中得到正式使用;Java沒有goto。然而,在break和continue這兩個關鍵字的身上,我們仍然能看出一些goto的影子---帶標籤的break和continue。
- “標籤”是指後面跟一個冒號的識別符號,例如: label:
- 對Java來說唯一用到標籤的地方是在迴圈語句之前。而在迴圈之前設定標籤的唯一理由是:我們希望在其中巢狀另個迴圈,由於break和continue關鍵字通常只中斷當前迴圈,但若隨同標籤使用,它們就會中斷到存在標籤的地方。
break
package com.lemon.struct; public class BreakDemo { public static void main(String[] args) { int i = 0; while (i<100){ i++; System.out.print(i+"\t"); if(i==30){ break; } } System.out.println("123"); } }
//執行結果
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
123
Process finished with exit code 0
continue
package com.lemon.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+"\t"); } } }
//執行結果
1 2 3 4 5 6 7 8 9
11 12 13 14 15 16 17 18 19
21 22 23 24 25 26 27 28 29
31 32 33 34 35 36 37 38 39
41 42 43 44 45 46 47 48 49
51 52 53 54 55 56 57 58 59
61 62 63 64 65 66 67 68 69
71 72 73 74 75 76 77 78 79
81 82 83 84 85 86 87 88 89
91 92 93 94 95 96 97 98 99
Process finished with exit code 0
package com.lemon.struct;
public class LabelDemo {
public static void main(String[] args) {
//列印101~150之間所有的質數
//質數是指大於1的自然數中,除了1和它本身以外不再有其他因素的自然數
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.println(i+" ");
}
}
}
//執行結果
101
103
107
109
113
127
131
137
139
149
Process finished with exit code 0