Java基础|逻辑运算符、位运算符

逻辑运算符

与或非

  • 与(and)
  • 或(or)
  • 非(取反)

代码

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)); //逻辑与运算:两个变量都为true,结果为true
        System.out.println("a || b:" + (a || b));//逻辑或运算:两个变量只要其中一个是true,结果为true
        System.out.println("!(a && b):" + !(a && b));//如果是true,则变为false,如果是false则变为true
    }
}

运行结果

a && b:false
a || b:true
!(a && b):true

短路运算

代码

package operator;

//逻辑运算符
public class Demo05 {
    public static void main(String[] args) {
        //短路运算
        int c = 5;
        boolean d = (c < 4) && (c++ < 4);
        System.out.println(d);
        System.out.println(c);
    }
}

运行结果

false
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
        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);
    }
}

运行结果

16
无标签
评论区
头像
文章目录