&和&&都是逻辑运算符,主要区别是在于后面的&&是短路的,
也就是说当使用&时,要是&前面的表达式的结果是true,后面的条件也是true时结果才是真
要是&前面的表达式的结果是true,后面的条件是false时结果是假,
要是&前面的表达式的结果是false,后面的条件是true时结果是假,
要是&前面的表达式的结果是false,后面的条件是false时结果是假,
&前后表达式的结果都要去判断。
但是使用&&时是只要前面的表达式的结果是false,则后面的表达式的结果就不用去判断了,结果就是false,
当前面的表达式的结果是true时,才去判断后面的表达式的结果若是false,结果就是false
若是true,则结果就是true。相对来说比&得效率要高一些。 |