&&运算符也称为条件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