4、控制流

1、break 和 continue

在任何迭代語句的主體內,都可以使用 break 和 continue 來控制循環的流程。 其中,break 表示跳出當前循環體。而 continue 表示停止本次循環,開始下一次循環。

2、標籤

“標籤”是後面跟一個冒號的標識符。
對 Java 來說,唯一用到標籤的地方是在循環語句之前。進一步說,它實際需要緊靠在循環語句的前方 —— 在標籤和循環之間置入任何語句都是不明智的。而在循環之前設置標籤的唯一理由是:我們希望在其中嵌套另一個循環或者一個開關。這是由於 break 和 continue 關鍵字通常只中斷當前循環,但若搭配標籤一起使用,它們就會中斷並跳轉到標籤所在的地方開始執行。代碼示例:

label1:
outer-iteration { 
  inner-iteration {
  // ...
  break; // [1] 
  // ...
  continue; // [2] 
  // ...
  continue label1; // [3] 
  // ...
  break label1; // [4] 
  } 
}

[1] break 中斷內部循環,並在外部循環結束。
[2] continue 移回內部循環的起始處。但在條件 3 中,continue label1 卻同時中斷內部循環以及外部循環,並移至 label1 處。
[3] 隨後,它實際是繼續循環,但卻從外部循環開始。
[4] break label1 也會中斷所有循環,並回到 label1 處,但並不重新進入循環。也就是說,它實際是完全中止了兩個循環。

  1. 簡單的一個 continue 會退回最內層循環的開頭(頂部),並繼續執行。
  2. 帶有標籤的 continue 會到達標籤的位置,並重新進入緊接在那個標籤後面的循環。
  3. break 會中斷當前循環,並移離當前標籤的末尾。
  4. 帶標籤的 break 會中斷當前循環,並移離由那個標籤指示的循環的末尾。
    重點是:在 Java 裏需要使用標籤的唯一理由就是因爲有循環嵌套存在,而且想從多層嵌套中 break 或 continue。

3、switch

枚舉類型被用來搭配 switch 工作.

Java 7 增加了在字符串上 switch 的用法.

一旦理解了 switch,你會明白這其實就是一個邏輯擴展的語法糖。新的編碼方式能使得結果更清晰,更易於理解和維護。

【參考】On Java 8中文翻譯

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章