Java三元操作符

Java三元运算符是唯一接受三个操作数的条件运算符。Java三元运算符是if-then-else语句的一行替代,广泛用于Java编程。我们可以使用三元运算符来替代switch语句,如下例所示。

Java三元运算符

Java三元运算符中的第一个操作数应为布尔值或具有布尔结果的语句。如果第一个操作数是true,则Java三元运算符返回第二个操作数,否则返回第三个操作数。Java三元运算符的语法是:result = testStatement ? value1 : value2; 如果testStatement为真,则将value1分配给result变量,否则将value2分配给result变量。让我们看一个简单的Java程序中的Java三元运算符示例。

package com.journaldev.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程序中减少了代码行数。这就是Java中三元运算符的快速概述。

Source:
https://www.digitalocean.com/community/tutorials/java-ternary-operator