首先介绍一下逻辑运算符和位运算符。
1.逻辑运算符
&&:逻辑与 用法:op1&&op2 全真才真,一假则假
||: 逻辑或 用法:op1 || op2 一真则真,全假才假
!: 逻辑非 用法:!op 真变假,假变真
2.位运算符
位运算是把数据先转化成机器可以识别的二进制补码的形式,再逐位按规则计算。
& : 按位与 全1才1,否则为0。
| : 按位或 全0才0,否则为1。
~: 按位非 遇1则0,遇0则1。
^: 按位异或 相同为0,不同为1。
3.逻辑运算符与位运算符的区别
- 针对数据类型不同:逻辑运算符只能针对boolean类型进行逻辑运算 ,位运算符还可以对数值进行逻辑运算。
- 逻辑运算符存在短路的现象,即前边的表达式可以得到最终结果是,后面的表达式讲不被执行。而位运算符不存在短路现象,位运算是把两边的数据全部变成二进制补码的形式,然后进行计算的。
- 注解:为什么第一点的位运算符语句中是还呢?原因是这样的,因为我们知道,在机器语言中,true为1,false为0,所以当在位运算中添加了两个布尔型数据也是可以进行计算的,请注意输出的结果也是布尔型结果,即true或false。