Java编程语言还提供了对整数类型执行按位和移位操作的运算符。本节中讨论的运算符不太常用。因此,它们的覆盖范围很短;目的只是让您知道这些运算符的存在。
    一元按位补数运算符“~”反转位模式;它可以应用于任何整数类型,每个“0”变为“1”,每个“1”变为“0”。例如,一byte包含8位;将此运算符应用于位模式为“00000000”的值,会将其模式更改为“11111111”。
    有符号的左移位运算符“<<”将位模式向左移位,而有符号的右移位运算符“>>”将位模式向右移位。位模式由左操作数指定,移位位置的数量由右操作数指定。无符号右移运算符“>>>”将零移位到最左位置,而之后的最左位置">>"取决于符号扩展。
    按位&运算符执行按位与运算。
    按位^运算符执行按位异或运算。
    按位|运算符执行按位或运算。
    下面的程序 BitDemo使用按位与运算符将数字“2”打印到标准输出。

    1. class BitDemo {
    2. public static void main(String[] args) {
    3. int bitmask = 0x000F;
    4. int val = 0x2222;
    5. // prints "2"
    6. System.out.println(val & bitmask);
    7. }
    8. }