&&运算符也称为条件AND运算符或短路AND运算符。这个操作符表现出“短路”行为,这意味着第二个操作数只在需要时才计算。
&&运算符只计算布尔值。要使AND(&&)表达式为真,两个操作数都必须为真。如果第一个操作数解析为false,&&运算符将不计算第二个操作数,因为它已经知道完整表达式将返回false。
package org.nhooo.example.fundamental;
public class ConditionalANDDemo {
public static void main(String[] args) {
// 不计算第二个操作数(2<3),因为第一个操作数
// 操作数返回 false 完整表达式的结果
// 不能是 true
boolean a = (5 < 3) && (2 < 3);
// 第一个操作数返回true,第二个操作数被求值
// 如果第二则检查第二个表达式的结果
// 操作数解析为 true 时,完整表达式返回
// false,否则返回false
boolean b = (1 == 1) && (2 < 3);
boolean c = (1 == 1) && (5 < 3);
System.out.println("result a: " + a);
System.out.println("result b: " + b);
System.out.println("result c: " + c);
}
}代码段的结果:
result a: false result b: true result c: false