Javaの三項演算子
Javaの三項演算子は、3つのオペランドを取る唯一の条件演算子です。Javaの三項演算子は、if-then-else文の簡略化されたバージョンであり、Javaプログラミングで頻繁に使用されます。以下の例のように、三項演算子を使用してswitch文を置き換えることもできます。
Javaの三項演算子
Javaの三項演算子の第1オペランドは、ブール値またはブール値の結果を返す文でなければなりません。第1オペランドがtrueの場合、Javaの三項演算子は第2オペランドを返し、そうでなければ第3オペランドを返します。Javaの三項演算子の構文は次のようになります:result = testStatement ? value1 : value2; testStatementがtrueの場合、result変数にvalue1が割り当てられ、そうでなければvalue2が割り当てられます。簡単なJavaプログラムでJavaの三項演算子の例を見てみましょう。
package com.scdev.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 ternary演算子を使っていることがわかるように、if-then-elseやswitch case文を避けています。この方法で、Javaプログラムのコード行数を減らしています。これが、Javaにおけるternary演算子に関する簡単なまとめです。