Java语言中共定义了4种按位运算符,分别为:按位与&、按位或|、按位异或^、按位非~。

其中只有按拉非~不能应用于布尔类型,其他三种都可以把布尔类型当作一个具有一位的位

值。布尔类型值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的错误。