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文を回避していることがわかります。これにより、Javaプログラムのコード行数を減らすことができます。これで、Javaの三項演算子のクイックなまとめは以上です。

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