2.2.3、位运算与位移运算符

这篇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);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值