& 和 && 的区别

2021-06-30  本文已影响0人  猫大顾

原文链接:https://www.runoob.com/note/34429

|| 和 && 为逻辑运算符, | 和 & 定义为位运算符。

&& 如果两个操作数都非零,则条件为真;

|| 如果两个操作数中有任意一个非零,则条件为真。

& 按位与操作,按二进制位进行""运算。0&0=0;  0&1=0;  1&0=0;  1&1=1;

| 按位或运算符,按二进制位进行""运算。0|0=0;  0|1=1;  1|0=1;  1|1=1;

在判断语句中,用 | 还是 ||,& 还是 &&?

判断语句中为布尔类型,值只有 true 和 false。

举个例子,a = 1, b = 2,a > 0 = true,b > 1 = true, b > 2 = false。

if (a > 0 & b > 1) 即 if (true & true),结果为 true

if (a > 0 && b > 1) 即 if (true && true),结果为 true

if (b > 2 & a > 0) 即 if (false & true),结果为 false

if (b > 2 && a > 0) 即 if (false && true),结果为 false

可以看出 & 和 && 在判断语句中都可以实现“与”这个功能,区别在于 & 两边都运算,而 && 先算 && 左侧,若左侧为 false 那么右侧就不运算了。因此从效率上来说,判断语句中推荐使用 &&。

上一篇 下一篇

猜你喜欢

热点阅读