Java官方教程(三-4)位和位移运算符(2020.12.21)

前言

本文是橙子出于兴趣爱好对Java官方教程的尝试翻译,几乎每日更新,感兴趣的朋友可以关注一下橙子;翻译过程中尽可能多的对一些关键词保留了英文原文,如果你想看最纯正的英文原版教材却又看不懂,可以试着来看一下橙子的翻译版啊,欢迎大家留言讨论,冲鸭!
更多相关文章点击阅读
Java官方教程目录2020最新版

运算符 operators

位和位移运算符 Bitwise and Bit Shift Operators

Java语言还提供了对整型(integral types)执行按位和位移操作的运算符。本节讨论的运算符不太常用,它们的覆盖范围很小;只需要了解这些运算符的存在就好。

一元按位补码运算符“~”反转(invert)位模式(bit pattern)。它适用于任何整数类型,使每一个“0”变成“1”,每个“1”变成“0”。例如,一个字节(byte)包含8位;对位模式为“00000000”的值执行位运算,其位模式将变为“11111111”。

有符号的(signed)左位移(left shift)运算符“<<”将位模式(bit pattern)向左移,有符号的右位移运算符“>>”将位模式向右移。位模式由左边的操作数给出,位移数量由右边的操作数给出。无符号(unsigned)右移运算符“>>>”将0移位到最左边,而“>>”之后最左边的位置取决于符号扩展名(sign extension),它会用符号位填充高位。

按位运算符&执行按位与(and)运算。按位运算符^执行异或(xor)运算。按位运算符|执行按位或(or)运算。

下面程序BitDemo使用按位与(and)运算将数字2打印到标准输出。

class BitDemo {
    
    
    public static void main(String[] args) {
    
    
        int bitmask = 0x000F;
        int val = 0x2222;
        // prints "2"
        System.out.println(val & bitmask);
    }
}

想系统学习Java的朋友关注一下橙子,相信会有意想不到的收获鸭!

猜你喜欢

转载自blog.csdn.net/weixin_42509923/article/details/111466446