| 和 ||,& 和 && 的区别
目录
我们将 ||
和 &&
定义为逻辑运算符,而 |
和 &
定义为位运算符。
&&
如果两个操作数都非零,则条件为真;
||
如果两个操作数中有任意一个非零,则条件为真。
&
按位与操作,按二进制位进行"与"运算。
|
按位或运算符,按二进制位进行"或"运算
那么,问题来了,在判断语句中,用 | 还是 ||,& 还是 &&?
判断语句中为布尔类型,值只有 true 和 false(如果变量值为 0 就是 false,否则为 true)
|
|
可以看出 &
和 &&
在判断语句中都可以实现“和”这个功能,不过区别在于 &
两边都运算,而 &&
先算 &&
左侧,若左侧为 false 那么右侧就不运算了。因此从效率上来说,判断语句中推荐使用 &&
(换句话就是逻辑运算就老老实实用逻辑运算符,不然它为啥叫逻辑运算符呢?)
而 | 和 || 的比较与上类似,不做赘述。
总结:从效率上来说,判断语句中推荐使用 && ||
逻辑运算。
参考资料