逻辑运算符
运算符 | 运算 | 范例 | 结果 |
& | 与 | true | true | true |
| | 或 | true |false | true |
! | 非 | !false | true |
^ | 异或 | true ^ true | false |
&& | 短路与 | true && true | true |
|| | 短路或 | true || false | false |
注意:
1.逻辑运算符两边的值是boolean 值(结果为boolean值的表达式)
2. & 运算中,只要有一个false,结果为false
3. | 与运算,只要操作数中有一个为true,结果为true
4. !运算,!true = false, !false = true
5. ^ 运算,两个操作数相同结果为false ,例如,true ^ true = false=; false ^ false = false ; true ^ false = true;
6. 短路运算:
在使用&& || 短路运算符的时候,只要前面的操作数能获取到结果,就不会计算后表达;
例如
:
int a = 10; int b = 20;
boolean bl = (++a < 2) && ( ++b > 20) 请问这a 和 b 的结果?
结果:
a = 11;
b = 20;
为什么?
在执行 ++a < 2 = false ,就可以得到表达式的结果了!而后面的 ++b > 20 根本就没有执行。
所谓的短路的是意识就是:在执行过程中,所执行的结果已经可以得到表达式的结果,那么就不需要再执行后面的表达式了。