这些Java教程是针对JDK 8编写的。本页面描述的示例和实践不利用后续版本引入的改进,并可能使用不再可用的技术。
有关Java SE 9及其后续版本中更新的语言功能的摘要,请参阅Java语言更改。
有关所有JDK版本的新功能、增强功能和已删除或弃用选项的信息,请参阅JDK发行说明。
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; // 打印结果为"2" System.out.println(val & bitmask); } }