📅  最后修改于: 2023-12-03 15:16:01.673000             🧑  作者: Mango
在 Java 8 以后的版本中,可以使用一种新的语法结构——简写 if(ternary operator
)来简洁地表达 if-else
语句。这种语法结构是一种三元操作符,由 ?
和 :
组成。它的结构如下所示:
(condition) ? (expression1) : (expression2)
如果 condition
为 true
,则返回 expression1
,否则返回 expression2
。
在以下情况下,简写 if 与普通 if 语句是等效的:
int a = 5;
if (a > 0) {
System.out.println("a is positive");
} else {
System.out.println("a is not positive");
}
// 使用简写 if
System.out.println(a > 0 ? "a is positive" : "a is not positive");
输出结果:
a is positive
a is positive
简写 if 也可以用于多个条件的判断。例如,以下代码展示了如何使用简写 if 来比较三个数字的大小:
int a = 5, b = 3, c = 9;
int largest = a > b ? (a > c ? a : c) : (b > c ? b : c);
System.out.println("Largest number is: " + largest);
输出结果:
Largest number is: 9
简写 if 还可以嵌套使用。例如,以下代码展示了如何使用简写 if 在多个条件之间进行嵌套:
int num = 100;
String output = "";
output = (num >= 0) ? ((num == 0) ? "Number is zero" : "Number is positive") : "Number is negative";
System.out.println(output);
输出结果:
Number is positive
简写 if 可以方便地用作方法的返回值。例如,以下代码展示了如何使用简写 if 来返回两个数字中的较大值:
public static int getMaximum(int a, int b) {
return a > b ? a : b;
}
System.out.println(getMaximum(5, 8));
输出结果:
8
简写 if 有一些限制:
简写 if 确实可以让你的代码更简短、更易读。但是在使用简写 if 时,仍要记住代码的可读性和可维护性。如果在你的代码中出现了嵌套的简写 if,那么它可能会变得难以理解,这时考虑使用普通的 if-else 语句可能更好。