邏輯運算符,把多個條件聯合判斷,用來判斷條件是否成立。舉例子,小明大於10歲,且數學測試分數超過90分,才能參加全國數學競賽。
比如
intage=12;intscore=97;if(age>10&&score>90){System.out.println("可以參加數學競賽");}else{System.out.println("不可以參加數學競賽");}
運算符用法含義說明實例結果
&&a&&b短路與ab 全為 true 時,計算結果為 true,否則為 false。3>1 && 3<5true
||a||b短路或ab 全為 false 時,計算結果為 false,否則為 true。3<1 || 3>5false
!!a邏輯非a 為 true 時,值為 false,a 為 false 時,值為 true!(2>4)true
|a|b邏輯或ab 全為 false 時,計算結果為 false,否則為 true1>3|3>5false
&a&b邏輯與ab 全為 false 時,計算結果為 false,否則為 true1<3&3<4true
1. Java邏輯運算符的優先級:!大於 && 大於 ||
2. 邏輯和短路的特點
判斷效果其實一樣, 但是最大的區別是短路與和短路或,的判斷效率會高於邏輯與和邏輯或。所以編程中,盡量采用短路寫法。
&& 與 & 區別:如果 a 為 false,則不計算 b(因為不論 b 為何值,結果都為 false)
|| 與 | 區別:如果 a 為 true,則不計算 b(因為不論 b 為何值,結果都為 true)
代碼測試
System.out.println("短路與 3>1 && 3<5 返回:"+(3>1&&3<5));System.out.println("短路或 3<1 || 3>5 返回:"+(3<1||3>5));System.out.println("邏輯非 !(2>4)返回:"+!(2>4));
輸出
短路與3>1&&3<5返回:true短路或3<1||3>5返回:false邏輯非!(2>4)返回:true
https://java-er.com/blog/java-and-logic-opertaion/