欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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++是不一样的。


在位运算符中,~(取反)是单目运算符,也就是它只有一个操作数。