&&and运算符对||两个布尔表达式执行条件与和条件或运算。这些运算符表现出“短路”行为,这意味着仅在需要时才评估第二个操作数。
操作员 | 描述 |
---|---|
&& | 条件与 |
|| | 条件或 |
以下程序ConditionalDemo1测试这些运算符:
class ConditionalDemo1 { public static void main(String[] args){ int value1 = 1; int value2 = 2; if ((value1 == 1) && (value2 == 2)) System.out.println("value1 is 1 AND value2 is 2"); if ((value1 == 1) || (value2 == 1)) System.out.println("value1 is 1 OR value2 is 1"); } }
另一个条件运算符是?:,它可以被认为是if-then-else语句的简写(在控制流语句部分讨论)。该运算符也称为三元运算符,因为它使用三个操作数。在以下示例中,此运算符应读作:“如果 someCondition 为真,则将 value1 的值赋给 result。否则,将 value2 的值赋给 result。”
以下程序 ,ConditionalDemo2测试?:运算符:
class ConditionalDemo2 { public static void main(String[] args){ int value1 = 1; int value2 = 2; int result; boolean someCondition = true; result = someCondition ? value1 : value2; System.out.println(result); } }
因为someCondition是真的,这个程序在屏幕上打印“1”。如果它使您的代码更具可读性,请使用?:运算符而不是语句;if-then-else例如,当表达式紧凑且没有副作用(如赋值)时。