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

Java 邏輯運算符完全指南:&&、||、! 與短路求值機制

     編輯:Java 相關知識

邏輯運算符核心概念

邏輯運算符處理 boolean 類型,構建複雜條件判斷。三大運算符:&&(邏輯與)、||(邏輯或)、!(邏輯非)。

真值表與功能

運算符名稱規則
&&邏輯與雙方均 true 才為 true
||邏輯或任一方 true 即為 true
!邏輯非取反:true→false,false→true

區間判斷實戰

判斷 n ∈ [0, 10):

boolean inRange = (n >= 0) && (n < 10);

判斷 n ∉ [0, 10) 兩種寫法:

// 寫法 1:整體取反
boolean notInRange = !((n >= 0) && (n < 10));

// 寫法 2:德摩根定律轉換
boolean notInRange = (n < 0) || (n >= 10);

短路求值:&& vs & 關鍵差異

int n = -1;
boolean b1 = (n >= 0) && (n < 10);  // 短路:左側 false,右側不執行
boolean b2 = (n >= 0) & (n < 10);    // 非短路:右側仍會執行

實戰影響:若右側包含方法調用或副作用操作,&& 可避免不必要執行:

// 經典面試題驗證
int n = 10;
boolean b = (n < 8) && ((n = 1) != 0);  // n 保持 10
int m = 20;
boolean b1 = (m < 8) & ((m = 1) != 0);   // m 變為 1

最佳實踐

  • 條件判斷優先使用短路版(&&、||)
  • 需執行副作用操作時才用非短路版(&、|)
  • 複雜條件提取為具名變量,提升可讀性
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved