首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

Java 控制語句全景指南:順序、選擇、循環結構核心語法與最佳實踐

     編輯:Java 綜合教學

一、順序結構

程序默認執行流程:代碼從上至下依次執行,無跳轉、無判斷。是所有程序的基礎骨架。

二、選擇結構

1. if 語句

  • 單分支:if (條件) { 語句; }
  • 雙分支:if (條件) { 語句A; } else { 語句B; }
  • 多分支:if (條件1) { } else if (條件2) { } ... else { }
  • 嵌套:if 內部再包含 if,需注意大括號配對與邏輯清晰度。

2. switch 語句

switch (表達式) {
    case 常量值1: 語句1; break;
    case 常量值2: 語句2; break;
    default: 語句N;
}

核心規則(JDK 7+)

  1. 表達式類型:int、short、char、byte、String、enum。
  2. case 後必須是常量,不可為變量或表達式。
  3. break 穿透特性:缺少 break 會繼續執行下一 case,直到遇到 break 或結束。
  4. default 可選,建議保留作為防禦性編程。

switch vs if 選型建議

  • switch:固定離散值匹配,結構清晰,JVM 可優化為 tableswitch/lookupswitch 字節碼,性能略優。
  • if:區間判斷、複雜布爾表達式、對象比較等 switch 無法覆蓋的場景。

三、循環結構

1. while 循環——先判斷後執行

while (條件) {
    循環體;
}

適用於次數未知、需先檢查條件的場景。若初始條件為 false,循環體零次執行。

2. do-while 循環——先執行後判斷

do {
    循環體;
} while (條件);

循環體至少執行一次。常用於菜單交互、輸入校驗等「先做一次再決定是否繼續」的業務。

3. for 循環——計數器驅動的標準化循環

for (初始化; 條件; 迭代) {
    循環體;
}

增強 for(for-each)(JDK 5+):

for (元素類型 變量 : 數組或集合) {
    // 僅遍歷,不可修改原集合結構
}

三種循環轉換等價性

所有循環邏輯均可互相轉換,選擇原則:

  • 已知次數 → for
  • 未知次數,先判斷 → while
  • 未知次數,至少一次 → do-while

四、跳轉語句輔助控制流

  • break:跳出最近一層循環或 switch。
  • continue:跳過本次循環剩餘語句,直接進入下一次判斷(for 會執行迭代語句)。
  • 標籤:outer: for(...) { inner: for(...) { break outer; } } 可跳出多層嵌套,慎用以免降低可讀性。

五、實戰避坑指南

陷阱正確姿勢
if (a = b) 賦值而非比較習慣寫 if (b == a) 或使用 IDE 警告
switch 字符串為 null 拋 NPE先非空判斷或用 Objects.equals()
循環中修改集合大小導致 CME用 Iterator.remove() 或收集待刪除元素二次處理
死循環無退出條件代碼評審時重點檢查條件變量更新邏輯

六、總結

控制語句是程序邏輯的骨架。熟練掌握 if/switch 的適用邊界、三種循環的語義差異、break/continue 的作用範圍,並養成「防禦性編程」習慣(非空判斷、邊界檢查、避免副作用),能寫出結構清晰、邏輯健壯、易於維護的 Java 代碼。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved