邏輯運算符,把多個條件聯合判斷,用來判斷條件是否成立。舉例子,小明大於10歲,且數學測試分數超過90分,才能參加全國數學競賽。java
好比編程
intage=12;intscore=97;if(age>10&&score>90){System.out.println("能夠參加數學競賽");}else{System.out.println("不能夠參加數學競賽");}ide
運算符用法含義說明實例結果測試
&&a&&b短路與ab 全爲 true 時,計算結果爲 true,不然爲 false。3>1 && 3<5trueblog
||a||b短路或ab 全爲 false 時,計算結果爲 false,不然爲 true。3<1 || 3>5falseget
!!a邏輯非a 爲 true 時,值爲 false,a 爲 false 時,值爲 true!(2>4)true數學
|a|b邏輯或ab 全爲 false 時,計算結果爲 false,不然爲 true1>3|3>5falseit
&a&b邏輯與ab 全爲 false 時,計算結果爲 false,不然爲 true1<3&3<4trueio
Java邏輯運算符的優先級:!大於 && 大於 ||class
判斷效果其實同樣, 可是最大的區別是短路與和短路或,的判斷效率會高於邏輯與和邏輯或。因此編程中,儘可能採用短路寫法。
&& 與 & 區別:若是 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