今天来说一下运算符"|“和”||“以及”&“和”&&"的区别
我们知道"|“和”||“是或的意思,指的是或运算;”&“和”&&"是与的意思,指的是与运算。但是“||”和“&&”在执行效率上面比“|”和“&”高。
比如,举个例子如下,使用"|“时候,程序会将a == b 判断完后,无论其结果是否正确,都会继续判断a == 2,也就是判断了两个;
而使用”||"时候,程序依然会先判断a == b 是否相等,如果相等则说明条件式成立,程序将不再判断
a是否等于2(a == 2),反之,(a == b)如果不成立,程序则判断a是否等于2,因此从功能上看两者一致,但从执行效率来看,“||”的效率会比“|”高。
int a,b;
if(a == b | a == 2)
{
.....
}
else if(a == b || a == 2)
{
.....
}
而“&&”和"&“也是一样,在功能上两者一样,但是执行效率上“&&”会比”&"高,区别是"||“和“&&”会根据前一个表达式以及当前情况来决定后面的是否需要进行运算,而表达式”|"和“&”则会将全部进行判断一遍,在执行效率上会远远低于前者。
因此,在程序运算时候,建议采用"||”和"&&",有助于提高程序效率。
本人水平有限,上述信息仅供学习参考,如有错误和不妥之处,请多多指教。
另外创作不易,请勿抄袭,如果有帮助到大家的话希望大家可以点个赞,谢谢~