简单介绍Java中的逻辑运算与位运算

逻辑运算

逻辑运算符:!、&&、||

优先级:!>&&>||

逻辑运算符的使用方法:

op1 op2 op1&&op2 op1||op2 !op1
true true true true false
true false false true false
false true false true true
false false false false true

位运算

位运算符:

运算符 用法 含义 规则
& op1&op2 按位与 全1则1,否则为0
| op1|op2 按位非 全0则0,否则为1
^ op1^op2 按位异或 相同为1,不同为0
~ ~op1 按位非 遇1则0,遇0则1
<< op1<< x 左移运算符 x为左移的位数
>> op1>> x 右移运算符 x为右移的位数

使用位运算符运算的方式是对二进制进行按位运算的,比如:

Java的逻辑运算与位运算的区别

a,b要进行“按位与”运算,先转化为二进制,计算结果是相同位上只有都为1时才为1,否则为0。

注意:

     按位异或运算是可逆的,即如果对某个数据a进行两次相同的异或运算,则结果会还原为a,如对数值3进行两次和5的异或运算

3^5=6;  6^5=3

单从符号和含义上可以感觉到逻辑运算与位运算有很多相似的地方,下面说说两者的区别:

逻辑运算与位运算的区别

1.逻辑运算符只能针对boolean类型进行逻辑运算,而位运算还可以对数值进行逻辑运算。

2.逻辑运算符有短路情况,即前面的表达式可以得到最终结果时,后面的表达式将不被执行。

比如:

Java的逻辑运算与位运算的区别Java的逻辑运算与位运算的区别

 

 

 

 

 

 

 

 

 

 

相关文章: