- & 与运算
&两边的表达式都为true时,结果为true;否则结果为false。
- | 或运算
|两边表达式至少有一个为true,结果为true;两边的表达式都为false时,结果为false。
- ^ 异或运算
^两边表达式不同时为true;相同时为false。
- ! 非运算
!表达式与原来结果取反。
- && 短路与运算
&&两边的表达式都为true时,结果为true;否则结果为false。
- || 短路或运算
||两边表达式至少有一个为true,结果为true;两边的表达式都为false时,结果为false。
注意:
- &(与)和&&短路与的区别
&:在逻辑运算时分别计算表达式两边的结果,再做&运算;在做位运算时&表示按位与
&&:短路与,先计算左边表达式的值,如果结果是false,那么右边结果表达式不在计算,直接返回false;如果左边为true,再取决与右边表达式的值,右边为true,则结果为true,否则为false。
2.|(或)和||(短路或)的区别 同上。
3.短路与和短路或的效率更高,因此建议使用。