邏輯運算符分爲如下幾個:spa
&code
兩邊爲true則爲true,不然爲falseblog
|class
一邊爲true則爲truestatic
!di
true則得false,false則得trueco
^運算符
兩邊不一樣則爲true,兩邊相同則爲falsevoid
&&
短路&,結果與&的一致,區別在於若是左邊能獲得結果,則右邊不執行
||
短路或,結果與|一致,區別在於若是左邊能獲得結果,則右邊不執行
例子:
public class TestOperator { public static void main(String[] args) { /* & 兩邊爲真則爲真 | 一邊爲真則爲真 ! 真則爲假 ^ 兩邊同則爲假,不一樣則爲真 */ System.out.println(true & false); System.out.println(true & true); System.out.println(false & true); System.out.println(true | false); System.out.println(true | true); System.out.println(false | true); System.out.println(false | false); System.out.println(!true); System.out.println(!false); System.out.println(true ^ false); System.out.println(true ^ true); System.out.println(false ^ true); System.out.println(false ^ false); /* && || 運算結果與單&或單|沒有區別 區別在於短路現象 使用的時候儘可能使用&&和|| */ System.out.println(true && false); System.out.println(true && true); System.out.println(false && true); System.out.println(true || false); System.out.println(true || true); System.out.println(false || true); System.out.println(false || false); int i = 10; if(i>10 && i++ <20){ System.out.println(" i在10和20之間"); } System.out.println(" i=" + i); int i2 = 10; if(i2>10 & i2++ <20){ System.out.println(" i2在10和20之間"); } System.out.println(" i2=" + i2); } }