其中只有按拉非~不能应用于布尔类型,其他三种都可以把布尔类型当作一个具有一位的位
值。布尔类型值true对应的值为1,false对应的值为0。
如下面的例子:
public class Test {
public static void main(String[] args) {
boolean trueValue = true;
boolean falseValue = false;
System.out.println("trueValue & falseValue = "+(trueValue &
falseValue));
}
}
则上述代码段将输出的结果为:trueValue & falseValue = false
注意,按位运算尽管可以应用于布尔型值,但是不能将布尔类型值和其他整数类型值混合使
用,如果混合使用,则将会发生类型转换错误 。因为布尔类型值和其他类型值之间不能相
互转换。这一点Java语言与C或C++语言不同。
如下面的代码段:
byte trueValue = 1;
boolean falseValue = false;
System.out.println("trueValue & falseValue ="+ (trueValue & falseValue));
在编译时将会出现:The operator & is undefined for the argument type(s) byte,
boolean的错误。