Java 教程是为 JDK 8 编写的。本页中描述的示例和实践未利用在后续版本中引入的改进。
Java 编程语言还提供了对整型类型执行位运算和移位操作的运算符。本节讨论的运算符不太常用。因此,他们的报道很简短;目的只是让你意识到这些运算符的存在。
一元按位反码运算符 "~
" 将位模式反转;它可以应用于任何整型,使得每个 "0" 为 "1",每个 "1" 为 "0"。例如,一个 byte
包含 8 位;将该运算符应用于位模式为 "00000000" 的值将其模式更改为 "11111111"。
带符号的左移运算符 "<<
" 将位模式向左移位,并且带符号的右移运算符 ">>
" 将位模式向右移位。位模式由左侧操作数给出,操作数移动位置的数量由右侧操作数给出。无符号右移运算符 ">>>
" 将零移动到最左边的位置,而 ">>"
之后的最左边位置取决于符号扩展。
按位 &
运算符执行按位与运算。
按位 ^
运算符执行按位异或运算。
按位 |
运算符执行按位或运算。
以下程序 BitDemo
使用按位与运算符将数字 "2" 输出到标准输出。
class BitDemo { public static void main(String[] args) { int bitmask = 0x000F; int val = 0x2222; // prints "2" System.out.println(val & bitmask); } }