位运算与位移运算符

不打扰是莪最后的温柔 提交于 2019-11-28 19:57:24
这篇Java教程基于JDK1.8。教程中的示例和实践不会使用未来发行版中的优化建议。

位运算与位移运算符

Java编程语言为整数类型提供了位运算和位移运算符。这类操作符相比较而言使用的频率较低。因此,它们的覆盖面较短,只需要了解这些操作符的存在即可。

一元位补运算符“~”反转位运算,它可以用在任何整数类型上,使得“0”变成“1”,然后“1”变成“0”。比如一个字节包含8位,将补运算符运用在位形式表示的数“00000000”上则会得到“11111111”。

带符号的左移操作符“<<” 向左移动一个位模式,带符号的右移操作符“>>” 向右移动一个位模式。位模式由左操作数给出,移动的位数由右操作数给出。无符号的右移操作符“>>>”用0填充右移后最左边的位置,有符号的右移操作符“>>”最左边的位置则取决于该数的符号位。

& 操作符完成按位与运算
^ 操作符完成按位异或运算
| 操作符完成按位或运算

下面的程序使用位与运算打印出了数字“2”到标准输出:

public class BitDemo {

    public static void main(String[] args){
        int bitmask = 0x000F;
        int val = 0x2222;
        // print 2
        System.out.println(val & bitmask);
    }
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!