boolean 只有 true 和 false 兩個值,不可與其他基本類型互相轉換。直接用於 if 判斷無需比較 == true。
boolean b = false;
System.out.println("b is " + b); // b is false
b = true;
if (b) System.out.println("執行"); // 直接判斷
System.out.println("10 > 9 is " + (10 > 9)); // 關係運算結果為 boolean
| 運算符 | 類型 | 短路特性 | 異或支持 |
|---|---|---|---|
&&、||、! | 邏輯運算 | 支持(短路) | 不支持 |
&、|、^、~ | 按位邏輯運算 | 不支持(全評估) | 支持(^ 異或) |
static boolean f1() { return false; }
static boolean f2() { return true; }
static boolean f3() { return true; }
boolean r1 = f1() && f2() && f3(); // f1 為 false,後兩個不執行
boolean r2 = f2() || f1() || f3(); // f2 為 true,後兩個不執行
// 短路導致邏輯錯誤示例
boolean r3 = f2() || f3() && f1(); // 實際 true,預期 false(優先級導致)
// 正確寫法
boolean r4 = (f2() || f3()) && f1(); // false
boolean x = true ^ true; // false boolean y = true ^ false; // true // 適用於「兩者有且僅有一個為真」的場景
&&、||),利用短路提升性能&、|)^