42.位运算符
程序员文章站
2022-04-29 12:47:11
...
Java中的位运算符,基本上除了涉及到比较底层,强调效率性能的部分之外,其他地方很少用到的,特别是做应用开发。这里只是简单的介绍一下,了解一下。
在操作整型数据时,可以使用运算符直接处理组成这些整数的各个二进制位。适用的数据类型有:byte、short、char、int、long。
位运算符“&”(与)会在两个操作数都为1时,返回一个1的输出值,而在其他情况下为0;
位运算符“|”(或)会在两个操作数中有一个为1时,返回一个1的值;
位运算符“^”(异或)会在两个操作数中有且只有一个为1时,返回1;
而位运算符“~”(取反)是一个单目运算符,它只有一个操作数,将返回位操作数的“相反值”,如操作数为1,则取反操作后返回值为0。
可以对比布尔运算符来看。把1看做true,把0看做false。这样就可以根据布尔运算的规则来理解了。
注意:
^、&和|也是布尔运算符。在布尔运算中,^、&和|会产生布尔值。这种运算符的处理就是运算符的重载了。不过Java中不允许自行进行运算符的重载扩展,和C++是不一样的。
在位运算符中,~(取反)是单目运算符,也就是它只有一个操作数。
上一篇: 44.赋值运算符
下一篇: 41.Java三元运算符