2.7.4 逻辑运算符
Java中的逻辑运算符如表2-10所示。逻辑运算的操作数和运算结果都是boolean值。
表2-10 逻辑运算符
运算符 | 说明 | |
---|---|---|
逻辑与 | &( 与) | 两个操作数为true,结果才是true,否则是false |
逻辑或 | |(或) | 两个操作数有一个是true,结果就是true |
短路与 | &&( 与) | 只要有一个为false,则直接返回false |
短路或 | ||(或) | 只要有一个为true, 则直接返回true |
逻辑非 | !(非) | 取反:!false为true,!true为false |
逻辑异或 | ^(异或) | 相同为false,不同为true |
短路与和短路或采用短路的方式。从左到右计算,如果只通过运算符左边的操作数就能够确定该逻辑表达式的值,则不会继续计算运算符右边的操作数,提高效率。
【示例2-22】短路与和逻辑与
java
// 1>2 的结果为false,那么整个表达式的结果即为false,将不再计算2>(3/0)
boolean c = 1 > 2 && 2 > (3 / 0);
System.out.println(c);
// 1>2 的结果为false,那么整个表达式的结果即为false,还要计算2>(3/0),0不能做除数,// 会输出异常信息
boolean d = 1 > 2 & 2 > (3 / 0);
System.out.println(d);