package Bao2;

public class Day2 {
    public static void main(String[] args) {
        // 与(and)  或 (or)   非 (取反)
        boolean a = false;
        boolean b = true;
        System.out.println("a && b:" +(a && b)); // 逻辑与运算;两个都是真,结果才是真
        System.out.println("a || b:" +(a || b));  // 逻辑或运算:两个有一个为真,就是True
        System.out.println("! (a && b):" + !(a && b)); // 如果是真取反为假,否则反之
        //短路运算
        int c = 5;
        boolean d = (c<4)&&(c++<4);
        System.out.println(d);     //在进行&&和运算是,有一个为假就是假,所以当第一个就是假是,直接结束运行
        System.out.println(c);    // c = 5
        System.out.println("==================");

        //位运算  & | ~  <<(左移)  >>(右移);;位运算都是针对计算机底层二进制上的运算。
        /*
        A = 0011 1100
        B = 0000 1101
        A&B = 0000 1100  和运算
        A|B = 0011 1101  或运算
        A^B = 0011 0001  异或运算,相同为0,不同为1
        ~B = 1111 0010   取反运算

        2*8 = 16   2*2*2
        效率高!!
        <<    *2  (2<<3) 2*2*2*2
        >>    /2

         */
        System.out.println(2<<3);  //0000 0010 左移三位  即 0001 0000
    }
}

image

posted on 2021-09-05 15:28  亮闪闪的鱼  阅读(53)  评论(0)    收藏  举报