Java三元运算符

时间:2020-02-23 14:36:56  来源:igfitidea点击:

Java三元运算符是唯一使用三个操作数的条件运算符。
Java三元运算符是if-then-else语句的单行替换,在Java编程中使用很多。
我们也可以使用三元运算符替换switch,如下例所示。

Java三元运算符

java三元运算符中的第一个操作数应为布尔值或者具有布尔结果的语句。
如果第一个操作数为true,则Java三元运算符返回第二个操作数,否则返回第三个操作数。

Java三元运算符的语法为:

result = testStatement ? value1 : value2;

如果testStatement为true,则将value1分配给结果变量,否则将value2分配给结果变量。

我们来看一个简单的Java程序中的Java三元运算符示例。

package com.theitroad.util;
 
public class TernaryOperator {
 
  public static void main(String[] args) {
       
      System.out.println(getMinValue(4,10));
       
      System.out.println(getAbsoluteValue(-10));
       
      System.out.println(invertBoolean(true));
       
      String str = "Australia";
      String data = str.contains("A") ? "Str contains 'A'" : "Str doesn't contains 'A'";
      System.out.println(data);
      
      int i = 10;
      switch (i){
      case 5: 
      	System.out.println("i=5");
      	break;
      case 10:
      	System.out.println("i=10");
      	break;
      default:
      	System.out.println("i is not equal to 5 or 10");
      }
      
      System.out.println((i==5) ? "i=5":((i==10) ? "i=10":"i is not equal to 5 or 10"));
  }
 
  private static boolean invertBoolean(boolean b) {
      return b ? false:true;
  }
 
  private static int getAbsoluteValue(int i) {
      return i<0 ? -i:i;
  }
 
  private static int getMinValue(int i, int j) {
      return (i<j) ? i : j;
  }
 
}

上述三元运算符Java程序的输出为:

4
10
false
Str contains 'A'
i=10
i=10

如您所见,我们正在使用Java三元运算符来避免if-then-else 和switch case语句。
这样,我们减少了Java程序中的代码行数。