Java面试题:简述逻辑操作(&,|,^)与条件操作(&&,||)的区别 ??
- 条件操作符只能操作布尔值,而逻辑符操作不仅能够操作布尔值,而且还可以操作数值型。
- 逻辑操作符 | 不会产生短路,而条件操作 | | 会产生短路。
举个栗子:
int a = 0;
int b = 0;
if( (a = 3) > 0 || (b = 3) > 0 ) //操后a =3,b=0.
if( (a = 3) > 0 | (b = 3) > 0 ) //操后a =3,b=3。
从上面的例子我们可以看到, 用 条件 | | 执行完左边的表达式能得到结果的时候,它就不能去执行右边的表达式了。
原文链接:
https://blog.csdn.net/junli_chen/article/details/49613851