Java基础09:逻辑运算符、位运算符

Java基础09:逻辑运算符、位运算符

  1. 与 或 非(可以用字符串将名称与输出结果连接起来)

  2. 短路运算(当执行a&&b运算时,若a已经能够输出false,则b不会被执行)

  3. 代码部分:

    package operator;
    
    //逻辑运算符
    public class Demo05 {
        public static void main(String[] args) {
            // 与(and) 或(or) 非(取反)
            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));//如果是真,则变为假,如果是假则变为真
    
            //短路运算
            int c = 5;
            boolean d = (c<4)&&(c++<4);//不会执行后面的(c++<4)
            System.out.println(d);
            System.out.println(c);
        }
    }
    
  4. 位运算(如何高效计算2*8,二进制的2左移三位变成16)

  5. 代码部分:

    package operator;
    
    public class Demo06 {
        public static void main(String[] args) {
            /*(位运算)
            A = 0011 1100
            B = 0000 1101
    
            A&B 0000 1100
            A/B 0011 1101
            A^B 0011 0001
            ~B  1111 0010
    
            2*8 = 16   2*2*2*2(效率极高!!!)
            << *2
            >> /2(左移乘以2 右移除以2)
    
            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);//2左移三位
        }
    }
    
上一篇:逆向学习的第1天


下一篇:机器学习 - 决策树