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

全面掌握 Java 迴圈控制與條件判斷語句完整指南

     編輯:Java 相關知識

Java 流程控制核心語句

Java 提供三種基本迴圈結構與兩種條件判斷語句,構成程式流程控制的基石。本文系統整理語法、執行流程與實戰範例。

迴圈控制語句

while 迴圈

語法:

while (布林表達式) {
    // 迴圈體語句
}

特點:先判斷後執行,可能零次執行。適用於無法預知迴圈次數的場景。

範例:

int x = 10;
while (x < 20) {
    System.out.println("x = " + x);
    x++;
}

do-while 迴圈

語法:

do {
    // 迴圈體語句
} while (布林表達式);

特點:先執行後判斷,至少執行一次。適用於選單驅動程式等必須先展示再判斷的場景。

for 迴圈

標準語法:

for (初始化; 布林表達式; 更新) {
    // 迴圈體語句
}

執行流程:初始化 → 判斷 → 執行迴圈體 → 更新 → 判斷 → ...

範例:

for (int i = 10; i < 20; i++) {
    System.out.println("i = " + i);
}

增強型 for 迴圈 (Java 5+)

語法:

for (元素類型 變數 : 陣列或集合) {
    // 處理元素
}

特點:簡化陣列/集合遍歷,無法獲取索引,不可修改集合結構。

範例:

int[] numbers = {10, 20, 30, 40, 50};
for (int x : numbers) {
    System.out.print(x + ",");
}

String[] names = {"James", "Larry", "Tom"};
for (String name : names) {
    System.out.print(name + ",");
}

迴圈控制關鍵字

關鍵字作用適用範圍
break立即終止整個迴圈所有迴圈、switch
continue跳過本次迭代,進入下一次所有迴圈

break 範例:

for (int x : numbers) {
    if (x == 30) break;
    System.out.println(x);
}
// 輸出: 10, 20

continue 範例:

for (int x : numbers) {
    if (x == 30) continue;
    System.out.println(x);
}
// 輸出: 10, 20, 40, 50

條件判斷語句

if 單一條件

if (條件) {
    // 條件為 true 執行
}

if-else 雙向分支

if (條件) {
    // true 分支
} else {
    // false 分支
}

if-else if-else 多重條件

if (條件1) {
} else if (條件2) {
} else if (條件3) {
} else {
    // 以上皆不滿足
}

關鍵規則:

  • 最多一個 else,必須在所有 else if 之後
  • 可有零個或多個 else if
  • 一旦某條件滿足,後續條件不再判斷

巢狀 if

if (x == 30) {
    if (y == 10) {
        System.out.println("X=30 且 Y=10");
    }
}

switch 多路選擇

語法:

switch (表達式) {
    case 值1:
        // 語句
        break; // 可選
    case 值2:
    case 值3: // 合併 case
        // 語句
        break;
    default: // 可選
        // 預設語句
}

限制:表達式類型限於 byte, short, int, char, String, enum(Java 7+ 支援 String)。case 值必須為編譯期常量。

貫穿特性:缺少 break 會繼續執行下一個 case,直到遇到 break 或結束。

範例:

char grade = 'C';
switch (grade) {
    case 'A': System.out.println("優秀"); break;
    case 'B':
    case 'C': System.out.println("良好"); break; // B、C 同邏輯
    case 'D': System.out.println("及格"); break;
    case 'F': System.out.println("需加強"); break;
    default: System.out.println("無效等級");
}
System.out.println("你的等級: " + grade);

進階技巧與最佳實踐

  • 標籤迴圈:配合 break/continue 標籤 控制外層迴圈
  • 範圍檢查:迴圈邊界條件仔細設計,避免離一錯誤
  • 效能考量:熱點路徑優先使用標準 for 迴圈,避免增強 for 的迭代器開銷
  • 可讀性:複雜條件提取為布林變數或方法,switch 替代長串 if-else
  • Java 12+ Switch 表達式:支援箭頭語法、yield 回傳值、多值 case,更簡潔安全
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved