Java 菜鸟教程

Java 流程控制

Java 数组

Java 面向对象(I)

Java 面向对象(II)

Java 面向对象(III)

Java 异常处理

Java 列表(List)

Java Queue(队列)

Java Map集合

Java Set集合

Java 输入输出(I/O)

Java Reader/Writer

Java 其他主题

Java 三元运算符

在本文中,您将学习使用条件或三元运算符来更改程序的控制流。

在学习三元运算符之前,您需要了解Java中的if ... else语句。三元运算符可用于替换简单的 if...else 语句。例如,

您可以替换以下代码

if (expression) {
   number = 10;
}
else {
   number = -10;
}

等同于:

number = (expression) ? expressionTrue : expressinFalse;

为什么命名三元运算符?因为它使用3个操作数。

这里 expression 是一个布尔表达式,其结果为true 或 false。如果为true,expressionTrue则被评估并分配给变量number。如果为False,expressionFalse则被评估并分配给变量number。

示例:Java三元运算符

class Operator {
   public static void main(String[] args) {   

      Double number = -5.5;
      String result;
      
      result = (number > 0.0) ? "正数" : "非正数";
      System.out.println(number + " 是 " + result);
   }
}

运行该程序时,输出为:

-5.5 是非正数

什么时候使用三元运算符?

您可以使用三元运算符将多行代码替换为单行代码。它使您的代码更具可读性。但是,不要过于滥用三元运算符。例如,

您可以替换以下代码

if (expression1) {
	result = 1;
} else if (expression2) {
	result = 2;
} else if (expression3) {
	result = 3;
} else {
	result = 0;
}

等同于:

result = (expression1) ? 1 : (expression2) ? 2 : (expression3) ? 3 : 0;

在这种情况下,三元运算符的使用使代码难以理解。

仅在结果语句简短时才使用三元运算符。这将使您的代码简明易懂。