- 关于与(&&:并且)、或(||:或者)
“||”
(短路或): 如果左边计算后的操作数为true,右边则不再执行,返回true;
“|”
:(逻辑或)前后两个操作数都会进行计算。也就是说:“|”
不存在短路。
&&(短路与)
,当第一个判断条件不满足要求时(返回false),第二个判断条件就不会执行;只有当两个判断条件都返回true时,整个逻辑运算才返回true。&(逻辑与)
,不论什么情况下,两边的判断条件都会执行,当两边都返回true时,按位与才返回true。
- 最直观解释就是
||和&&
左边有一个不通过就不去执行右边了,没必要浪费时间。而|和&
不管左边有没有通过,都要磨磨唧唧两边都要先执行一遍,效率低
||、&&
会先进行左边判断通过与否,再进行右边判断,再执行有没有通过|、&:
就是先两边都执行,再去同时判断有没有通过。相当于||的一个逆向思路
开发中一般使用 &&和||比较好一点,因为效率高