1. 程式人生 > 其它 >零基礎快速學習Java — Java break語句詳解!

零基礎快速學習Java — Java break語句詳解!

  所有流行的程式語言中都有迴圈語句。JAVA 中採用的迴圈語句與C語言中的迴圈語句相似,主要有 while、do-while 和 for!

  那麼在某些時候需要在某種條件出現時強行終止迴圈,而不是等到迴圈條件為 false 時才退出迴圈。

  這個時候就可以使用 break 來完成這個功能!

  break 用於完全結束一個迴圈,跳出迴圈體。不管是哪種迴圈,一旦在迴圈體中遇到 break,系統將完全結束該迴圈,開始執行迴圈之後的程式碼。

  在Java中,break 語句有 3 種作用:在 switch 語句中終止一個語句序列、使用 break 語句直接強行退出迴圈和使用 break 語句實現 goto 的功能。

使用 break 語句直接強行退出迴圈

  可以使用 break 語句強行退出迴圈,忽略迴圈體中的任何其他語句和迴圈的條件判斷。在迴圈中遇到 break 語句時,迴圈被終止,在迴圈後面的語句重新開始。

例1:小明參加了一個 1000 米的長跑比賽,在 100 米的跑道上,他迴圈地跑著,每跑一圈,剩餘路程就會減少 100 米,要跑的圈數就是迴圈的次數。但是,在每跑完一圈時,教練會問他是否要堅持下去,如果回答 y,則繼續跑,否則表示放棄。

public static void main(String[] args) {
Scanner input = new Scanner(System.in); // 定義變數儲存小明的回答
String answer = ""; // 一圈100米,1000米為10圈,即為迴圈的次數 for (int i = 0; i < 10; i++) { System.out.println("跑的是第" + (i + 1) + "圈"); System.out.println("還能堅持嗎?"); // 獲取小明的回答 answer = input.next(); // 判斷小明的回答是否為y?如果不是,則放棄,跳出迴圈 if (!answer.equals("y")) { System.out.println("放棄"); break; } // 迴圈之後的程式碼 System.out.println("加油!繼續!"); } }
該程式執行效果如下:
跑的是第1圈
還能堅持嗎?
y
加油!繼續!
跑的是第2圈
還能堅持嗎?
n
放棄

  儘管 for 迴圈被設計為從 0 執行到 10,但是當小明的回答不是 y 時,break 語句終止了程式的迴圈,繼續執行迴圈體外的程式碼,輸出“加油!繼續!”。

  注意:一個迴圈中可以有一個以上的 break 語句,但是過多的 break 語句會破壞程式碼結構。switch 迴圈語句中的 break 僅影響 switch 語句,不會影響迴圈。

使用 break 語句實現 goto 的功能

  有時候,在巢狀很深的迴圈語句中會發生一些不可預料的事情。此時可能更加希望跳到巢狀的所有迴圈語句之外。通過新增一些額外的條件判斷實現各層迴圈的檢測很不方便。

  break 語句可以實現 goto 的功能,並且 Java 定義了 break 語句的一種擴充套件形式來處理退出巢狀很深的迴圈這個問題。

  通過使用擴充套件的 break 語句,可以終止執行一個或者幾個任意程式碼塊,這些程式碼塊不必是一個迴圈或一個 switch 語句的一部分。同時這種擴充套件的 break 語句帶有標籤,可以明確指定從何處重新開始執行。

  break 除了具有 goto 退出深層迴圈巢狀作用外,還保留了一些程式結構化的特性。

  標籤 break 語句的通用格式如下:

break label;

  label 是標識程式碼塊的標籤。當執行塊,但是不能使用 break 語句將控制權傳遞到不包含 break 語句的程式碼塊。

  用標籤(label)可以指定一個程式碼塊,標籤可以是任何合法有效的 Java 識別符號,後跟一個冒號。加上標籤的程式碼塊可以作為 break 語句的物件,使程式在加標籤的塊的結尾繼續執行。

  注意:通常緊跟 break 之後的標籤,必須在 break 所在迴圈的外層迴圈之前定義才有意義。

在 switch 語句中終止一個語句序列

  在 switch 語句中終止一個語句序列,就是在每個 case 子句塊的最後新增語句“break;”

例 2:在節目的抽獎環節裡,節目組會根據每位嘉賓的座位號來進行抽獎遊戲,根據不同的號碼來決定獎項的大小。使用 switch 語句編寫 Java 程式來完成獎項分配,其實現程式碼如下。

public static void main(String[] args) {
System.out.println("請輸入座位號碼:");
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
switch (num) {
case 8:
System.out.println("恭喜你,獲得了三等獎!");
break;
case 88:
System.out.println("恭喜你,獲得了二等獎!");
break;
case 888:
System.out.println("恭喜你,獲得了一等獎!");
break;
default:
System.out.println("謝謝參與!");
break;
}
}

  當用戶輸入的號碼為 888 時,獲取的 num 值為 888,則與第三個 case 後的值匹配,執行它後面的語句,輸出“恭喜你,獲得了一等獎!”,然後執行 break 語句,跳出整個 switch 結構。如果輸入的號碼與 case 中的值都不匹配,則執行 default 後的語句。

程式執行結果如下:

請輸入座位號碼:
888
恭喜你,獲得了一等獎!


請輸入座位號碼:
88
恭喜你,獲得了二等獎!


請輸入座位號碼:
66
謝謝參與!

  Java break語句!強行終止迴圈詳解大概就是這樣了,大家理解了嗎?如果覺得文字枯燥難懂的話可以看視訊學習理解,更容易掌握!!

Java300集零基礎適合初學者視訊

  今天主要就給大家分享這些了,有其他意見和想法的朋友可以留言討論哦,我們一起學習,一起進步!