Java 中的三元运算符
原文:https://www.studytonight.com/java-examples/ternary-operator-in-java
条件语句用于检查条件是真还是假,并根据结果决定下一步。Java 中的三元运算符用于替换条件语句。它们之所以这样叫,是因为它们对三个操作数进行运算。它们提供了更清晰的和更易读的代码,我们可以在一行代码中编写 if-else 逻辑。让我们学习一下如何在 Java 中使用三元运算符。**
三元运算符使用问号(?)和冒号(:)**分隔条件和将根据条件结果评估的表达式。三元运算符的一般语法如下所示。
如果条件评估为真,那么表达式 1 将被执行,否则表达式 2 将被执行。上述逻辑可以使用 if-else 语句编写,如下所示。
if(condition)
variable = expression1;
else
variable = expression2;
这里需要注意的一点是表达式必须返回值。我们不能使用返回空值的方法。考虑下面的 if-else 代码。
public static void main(String args[])
{
if (10 > 5)
System.out.print("True");
else
System.out.print("False");
}
真
我们不能用三元运算符做同样的事情。下面使用三元运算符编写的代码将返回一个错误。
public static void main(String args[])
{
(10 > 5) ? System.out.print("True"): System.out.print("False");
}
示例:Java 中的三元运算符
让我们有两个变量,一个是 int 数据类型,另一个是 String 数据类型。如果整数等于 10,那么字符串的值应该是十,否则应该是而不是十。
使用三元运算符的 Java 代码可以写成如下所示。
public static void main(String args[])
{
int i = 11;
String s;
s = (i == 10) ? "ten" : "not ten";
System.out.print(s);
}
不是十点
示例:Java 中的嵌套三元运算符
像嵌套的 if-else 一样,三元运算符也可以嵌套。在这里,我们试图根据一个学生的分数来找到他的分数。如果他的分数大于 90,那么成绩就是 A,如果分数在 50 到 90 之间,那么成绩就是 B,否则成绩就是 c。
下面的 Java 代码正在实现嵌套三元运算符。
public static void main(String args[])
{
int marks = 65;
char grade;
grade = (marks >= 90) ? 'A' : (marks < 90 && marks >= 50) ? 'B' : 'C';
System.out.print(grade);
}
B
为了更好的可读性,我们还可以用下面的格式编写上面的代码。
public static void main(String args[])
{
int marks = 65;
char grade;
grade = (marks >= 90) ? 'A'
:(marks < 90 && marks >= 50) ? 'B'
:'C';
System.out.print(grade);
}
B
摘要
三元运算符用于在单行中编写 if-else 条件语句。它们可以使我们的代码更简洁,也更容易理解。然而,对于嵌套的 if-else 语句和 if-else if-else 语句,三元运算符可能很难理解。它们应该主要用于替换简单的 if-else 语句。