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

Java 條件判斷全攻略:if-else 語句從入門到精通

     編輯:Java 相關知識

條件判斷是程式控制流程的核心。Java 提供 if 與 switch 兩大條件語句,其中 if-else 結構最靈活、應用最廣。本文系統講解三種 if 語法形式、執行流程、代碼塊用法、巢狀匹配規則及實戰範例,助你精準掌握條件邏輯。

一、if 語句(單分支)

if (條件表達式) {
    // 條件為 true 時執行的代碼塊
}
  • 條件表達式結果必須為 boolean 型別
  • 大括號可省略當只有一條語句,但強烈建議始終使用代碼塊,提升可讀性與維護性
  • 若條件為 false,直接跳過代碼塊繼續執行後續程式

範例

int a = 10;
if (a >= 0) {
    System.out.println("a 是非負數");
}
if (a % 2 == 0) {
    System.out.println("a 是偶數");
}

二、if-else 語句(雙分支)

if (條件表達式) {
    // 條件成立執行
} else {
    // 條件不成立執行
}
  • else 代表「否則」,與前一個 if 互斥,必有一個分支執行
  • 巢狀 if 時,else 始終匹配最近的未配對 if(可用大括號明確界定)

範例:判斷奇偶

int n = 12;
if (n % 2 != 0) {
    System.out.println("n 是奇數");
} else {
    System.out.println("n 是偶數");
}

三、if-else if-else 語句(多分支)

if (條件1) {
    // 代碼塊1
} else if (條件2) {
    // 代碼塊2
} else if (條件3) {
    // 代碼塊3
} else {
    // 所有條件都不成立時執行(可選)
}
  • 條件由上而下依序判斷,首個成立的分支執行後結束整個結構
  • 順序至關重要:如分數分級必須從高到低或低到高排列,否則邏輯錯誤
  • 最終 else 為兜底分支,可選

範例 1:月份對應天數(不考慮閏年)

int month = 3, days = 0;
if (month == 1) days = 31;
else if (month == 2) days = 28;
else if (month == 3) days = 31;
else if (month == 4) days = 30;
else if (month == 5) days = 31;
else if (month == 6) days = 30;
else if (month == 7) days = 31;
else if (month == 8) days = 31;
else if (month == 9) days = 30;
else if (month == 10) days = 31;
else if (month == 11) days = 30;
else if (month == 12) days = 31;
System.out.println(days); // 輸出 31

範例 2:百分制分數轉等級

int score = 87;
if (score >= 90) {
    System.out.println('A');
} else if (score >= 80) {
    System.out.println('B');
} else if (score >= 70) {
    System.out.println('C');
} else if (score >= 60) {
    System.out.println('D');
} else {
    System.out.println('E');
}
// 輸出 B

注意:條件須按遞減順序寫,若寫成 score >= 60 在最前面,所有及格分數都會被判為 D。

四、最佳實踐建議

  1. 始終使用大括號:即使單行語句,避免後續修改引入 Bug
  2. 條件順序優化:將最可能成立、或計算開銷最小的條件前置
  3. 避免過深巢狀:超過 3 層考慮提取方法、使用策略模式或 switch
  4. 邊界值測試:針對臨界值(如 60、80、90)編寫單元測試

五、總結

if-else 是 Java 流程控制的基石。掌握三種形式的語法、執行流程與匹配規則,配合代碼塊規範寫法,能清晰表達複雜業務邏輯。多分支場景下注意條件順序,必要時改用 switch 或多態設計提升可維護性。

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