| | 运算符或条件 OR 运算符对两个布尔表达式进行操作。该运算符表现出“短路”行为,这意味着只有在需要时才计算第二个操作数。
| |运算符只计算布尔值。对于OR(| |)表达式,如果其中一个操作数为true,则返回true。如果第一个操作数解析为true,则不会计算第二个操作数,因为完整表达式将返回true。
package org.nhooo.example.fundamental; public class ConditionalORDemo { public static void main(String[] args) { // the second operand (5<3) is not evaluated, because the // 第一个操作数返回true,完成结果 // 表达将是真实的 boolean a = (1 == 1) || (5 < 3); // 第一个操作数返回false,第二个操作数为 // 计算以检查第二个表达式的结果。 // 如果第二个操作数解析为true,则完成 // 表达式返回true,否则返回false。 boolean b = (5 < 3) || (2 == 3); boolean c = (5 < 3) || (1 == 1); System.out.println("result a: " + a); System.out.println("result b: " + b); System.out.println("result c: " + c); } }
该程序将输出以下输出:
result a: true result b: false result c: true