“|”与“||”,“&”与“&&”的异同
2018-10-18 by loki
“&”和“|”称为布尔运算符
“&&”和“||”称为逻辑运算符,或者条件布尔运算符。
两种运算符得到的结果完全相同,但得到结果的方式不同。
逻辑运算符性能比较好,它先检查第一个操作数的值,再根据该操作数的值进行操作,在某些情况下可能不处理第二个操作数。
如果“&&”运算符的第一个操作数是false,就不需要考虑第二个操作数的值了,因为无论第二个操作数的值是什么,其结果都是false。
同样,如果第一个操作数是true,“||”运算符就返回true,无需考虑第二个操作数的值。
布尔运算符“&”和“|”却不是这样,计算机总是对“&”和“|”前后的两个操作数进行运算。
因为操作数的就算是有条件的,如果使用“&&”和“||”运算符来代替“&”和|,性能会有一定提高。在大量使用这些运算符的应用程序中这表现得尤为明显。
原则上,尽可能使用逻辑运算符“&&”和“||”。
参考
https://blog.csdn.net/ycxzz/article/details/78936016