- &与|在进行运算时,符号两边的表达式都进行计算后才得出值,
- 而&&与||在运算时,如果运算符左边的值能决定整个表达式的值,运算符右边的内容就不在计算了
复制代码 你回答的挺对。其实你的答案合在一起就是你想要的[&(与操作)与&&(逻辑与操作),|(或操作)与||(逻辑或)的区别],在这再补充一下,如有问题相互讨论。
[&(与操作)与&&(逻辑与操作),|(或操作)与||(逻辑或)的两者最大区别是逻辑与和逻辑或是短路操作符,而与操作和或操作不是。
我先说下&&与||这个两个运算符,&&与||是逻辑运算符,又是短路操作符。什么是短路操作符呢?那首先知道什么是短路(初中物理学过),我想大家都知道。我们注意到,对于&&操作符来说,如果它的左操作数为false,则整个表达式一定为false,我们不需要再计算其右表达式。对于||情况也是一样的,如果其左操作数为true,则整个表达式一定为true,而不用计算其右表达式。这两个操作符只有在当左操作数不能决定整个表达式的值的时候才会计算右操作数。
而按位与/或”(&和|)却不是短路操作,既然不是短路操作,那就执行完表达式再得出值了。 |