文档

Java™ 教程
隐藏目录
位运算符和位移运算符
路径: 学习Java语言
课程: 语言基础
章节: 运算符

位运算符和位移运算符

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);
    }
}

上一页: 等式,关系和条件运算符
下一页: 运算符总结