Java流程控制11:break、continue、goto
阿新 • • 發佈:2020-07-24
break,continue的區別:
- break在任何迴圈語句的主體部分,均可用break控制迴圈的流程。break用於強行退出迴圈,不執行迴圈中剩餘的語句。(break語句也在switch語句中使用)
- continue語句用在迴圈與具體中,用於終止某次迴圈過程,既跳過迴圈體中尚未執行的語句,接著進行下一次是否執行迴圈的判定。
break程式碼示例(break的作用):
package com.wenjian.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("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 程序已結束,退出程式碼 0
continue程式碼示例(continue的作用):
package com.wenjian.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); } //如果在這裡加入System.out.print(i); ,那麼輸出跳出while迴圈, //輸出100 } } 輸出: 123456789 111213141516171819 212223242526272829 313233343536373839 414243444546474849 515253545556575859 616263646566676869 717273747576777879 818283848586878889 919293949596979899 程序已結束,退出程式碼 0
關於goto關鍵字(瞭解):
- goto關鍵字很早就在程式設計語言中出現。儘管goto仍是Java的一 個保留字,但並未在語言中得到正式使用; Java沒有goto。然而,在break和continue這兩個關鍵字的身上, 我們仍然能看出一些goto的影子—帶標籤的break和continue.
- “標籤”是指後面跟一個冒號的識別符號,例如: label:
- 對Java來說唯一用到標籤的地方是在迴圈語句之前。而在迴圈之前設定標籤的唯一理由是:我們希望在其中巢狀另個迴圈,由於break和continue關鍵字通常只中斷當前迴圈,但若隨同標籤使用,它們就會中斷到存在標籤的地方。
雖然Java中的goto不起作用,但Java 中同樣可以定義標籤(當然Java中標籤的設計不是為了goto),使用識別符號加冒號的形式,如“mylabel:
goto標籤的使用(不建議使用):
package com.wenjian.struct;
public class LableDemo {
public static void main(String[] args) {
//列印101~150之間的質數
//不建議使用
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 + " ");
}
}
}
輸出:
101 103 107 109 113 127 131 137 139 149
程序已結束,退出程式碼 0