逻辑运算符、位运算符

时间:2023-03-18
本文章向大家介绍逻辑运算符、位运算符,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

package github.demo01;

/**

  • @author subeiLY
  • @create 2021-05-25 20:10
    */
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
        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);

    }
}
package github.demo01;

/**
 * @author subeiLY
 * @create 2021-05-26 9:11
 */
public class Demo06 {
    public static void main(String[] args) {
        /*
        A = 0011 1100
        B = 0000 1101
----------------------------------
        A&B = 0000 1100   // 按位与,只有当两个二进制位都为1时,结果才为1;否则结果为0。
        A|B = 0011 1101   // 按位或, 只有当两个二进制位都为0时,结果才为0;否则结果为1。		
        A^B = 0011 0001   // 按位异或, 只有当两个二进制位不相同时,结果才为1;否则结果为0。
        ~B = 1111 0010	  // 按位取反, 把每个二进制位上的0变成1,把每个二进制位上的1变成0。

        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 0101 5
		0000 0110 6
		0000 0111 7
		0000 1000 8
		0001 0000 16
		
         */

        System.out.println(2<<3);
    }
}

原文地址:https://www.cnblogs.com/fifawas/p/17229213.html