邏輯運算符

邏輯運算符分爲如下幾個: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);
        
        
    }
}
相關文章
相關標籤/搜索