Conditional Operator in Java

2025年3月26日 | 阅读 3 分钟

在 Java 中,条件运算符会检查条件,并根据两个条件决定期望的结果。在本节中,我们将讨论Java 中的条件运算符。

条件运算符的类型

条件运算符有三种类型Java 中的运算符

  • 条件与(AND)
  • 条件或(OR)
  • 三元运算符
运算符符号
逻辑与(AND)&&
逻辑或(OR)||
三元运算符?:

条件与(AND)

该运算符应用于两个布尔表达式之间。它用两个 AND 运算符(&&)表示。当且仅当两个表达式都为 true 时,它返回 true,否则返回 false。

表达式 1表达式 2表达式 1 && 表达式 2
trueFalseFalse
FalsetrueFalse
FalseFalseFalse
truetruetrue

条件或(OR)

该运算符应用于两个布尔表达式之间。它用两个 OR 运算符(||)表示。只要有一个表达式为 true,它就返回 true,否则返回 false。

表达式 1表达式 2表达式 1 || 表达式 2
truetruetrue
trueFalsetrue
Falsetruetrue
FalseFalseFalse

让我们创建一个 Java 程序并使用条件运算符。

ConditionalOperatorExample.java

输出

true
false 

三元运算符

三元的含义由三个部分组成。三元运算符(? :)包含三个操作数。它用于评估布尔表达式。该运算符决定哪个值将被分配给变量。它是唯一接受三个操作数的条件运算符。它可以代替 if-else 语句。它使代码更加简单、可读且更短。

注意:并非所有使用 if-else 语句的代码都可以用三元运算符替换。

语法

上述语句指出,如果条件返回true,则执行 expression1,否则执行expression2,并将最终结果存储在变量中。

Conditional Operator in Java

让我们通过流程图来理解三元运算符。

Conditional Operator in Java

TernaryOperatorExample.java

输出

Value of y is: 90
Value of y is: 61

让我们看另一个使用三元运算符计算三个数字中最大值的示例。

LargestNumberExample.java

输出

The largest number is: 89

在上面的程序中,我们定义了三个变量 x、y 和 z,它们的值分别为 69、89 和 79。表达式(x > y) ? (x > z ? x : z) : (y > z ? y : z)会计算三个数字中的最大值,并将最终结果存储在变量 largestNumber 中。让我们来理解该表达式的执行顺序。

Conditional Operator in Java

首先,它检查表达式(x > y)。如果返回 true,则执行表达式(x > z ? x : z),否则执行表达式(y > z ? y : z)

当执行表达式(x > z ? x : z)时,它会进一步检查条件x > z。如果条件返回 true,则返回 x 的值,否则返回 z 的值。

当执行表达式(y > z ? y : z)时,它会进一步检查条件y > z。如果条件返回 true,则返回 y 的值,否则返回 z 的值。

因此,我们使用三元运算符得到了三个数字中的最大值。