Java 三元運算子

Java 三元運算符是唯一一個接受三個運算元的條件運算符。Java 三元運算符是 if-then-else 陳述式的一行替代,並在 Java 編程中被廣泛使用。我們可以使用三元運算符來替換 switch,如下面的例子所示。

Java 三元運算符

Java 三元運算符中的第一個運算元應該是一個布林值或具有布林結果的陳述式。如果第一個運算元是 true,那麼 Java 三元運算符返回第二個運算元,否則返回第三個運算元。Java 三元運算符的語法是:result = testStatement ? value1 : value2; 如果 testStatement 為 true,則將 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