Java 按位操作符

时间:2021-02-27 17:47:05

按位操作符用来操作整数基本数据类型中的单个比特,即二进制位。按位操作符会对两个参数中对应的位执行布尔代数运算,并最终生成一个结果。


按位操作符  & (与):

如果两个输入位都是1,则按位与操作符生成输出一个1,否则输出一个0。


public class TestOperator {

public static void main(String[] args) {

System.out.println("&: "+(1&1));
System.out.println("&: "+(0&1));

}

}

输出:

Java 按位操作符


按位操作符   | (或):


如果两个输入位只要有一个是1,那么按位或输出为1,只有在两个输入位都为0的情况下才会生成0.

public class TestOperator {

public static void main(String[] args) {

System.out.println("|: "+(1|1));
System.out.println("|: "+(0|1));

}

}

输出:

Java 按位操作符


按位操作符  ^ (异或):

如果两个输入位的某一个是1,但不全都是1,那么按位异或生成一个输出位1


public class TestOperator {

public static void main(String[] args) {

System.out.println("^: "+(0^1));
System.out.println("^: "+(1^1));

}

}

输出:

Java 按位操作符


按位操作符  ~ (非):

按位非有称为取反操作符,属于一元操作符


public class TestOperator {

public static void main(String[] args) {


System.out.println("~0: "+(~0));

}

}
输出:

Java 按位操作符


注意:

除 非 (~)以外其他任何 按位操作符都可以和 = 号联合使用。