逻辑运算符

逻辑运算符分为如下几个: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);
        
        
    }
}
相关文章
相关标签/搜索