运算符 | 解释 |
---|---|
& | 逻辑与 |
| | 逻辑或 |
&& | 短路与 |
|| | 短路或 |
逻辑与 和 短路与 的运算结果相同,只不过 短路与 存在短路现象;
逻辑或 和 短路或 的运算结果相同,只不过 短路或 存在短路现象;
解释:
1 | int x = 10; |
什么情况下发生短路与?
- 第一个表达式执行结果是 false,会发生短路与
什么情况下发生短路或?
- 第一个表达式执行结果是 true,会发生短路或
结论:
从某个角度来看,短路与 更智能。由于后面的表达式可能不执行,所以执行效率较高,在实际的开发中使用较多。
但是,在某些特殊的业务逻辑中,要求运算符两边的算子必须全部执行,此时必须使用 逻辑与,不能使用 短路与,使用短路与可能导致右边的表达式不执行。