逻辑运算符及位运算符

逻辑运算符

&& 逻辑与

|| 逻辑或

! 取反

    public static void main(String[] args) {
        boolean a = true;
        boolean b = false;
        System.out.println("a&&b=" + (a && b)); //逻辑与运算只有两个变量都为真,结果才为真
        System.out.println("a||b=" + (a || b)); //逻辑或运算只要有一个为真,结果才为真
        System.out.println("!(a||b)=" +! (a || b)); //对结果取反,如果为真则为假,反之。
        //&&  || 具有短路运算的特性。
    }
}




 //位运算符  & | ^ ~  <<  >>   >>>
public class Demo2 {
    public static void main(String[] args) {
   
    A = 0011 1100
    B = 0000 1101
    
    A&B 0000 1100  //A与B比较,如果都为1,才为1
    A|B 0011 1101  //A与B比较,只有两个都为0,才为0 
    A^B 0011 0001  //A与B比较,如果相同则为0否则为1
    ~B  1111 0010  //对B按位取反
    
    /*这里引入一道实践面试题 2*8如何运算最快
    2*8=16  可以理解为2*2*2
    由下面的二进制可以看出2向左移一位变成8,8向左移一位变成16
    <<1=*2  >>1=/2
   
    
     //结果为16
     0000 0000  0
     0000 0001  1
     0000 0010  2
     0000 0011  3
     0000 0100  4
     
     0000 1000  8
     0001 0000  16
    */
     System.out.println(2<<3); 
    }
}
posted @ 2022-08-08 11:07  不会写代码的我  阅读(65)  评论(0)    收藏  举报