三項演算子は条件式の評価によって、異なる値を返す演算子です。ここでは、Java における三項演算子の使い方について説明します。
三項演算子の使い方
三項演算子の構文は以下の通りです。
1 |
条件式 ? 真の場合に評価する式 : 偽の場合に評価する式 |
クエスチョンマーク ? の前に記述した条件式が真のときは、コロン : の前の式が評価され、偽のときはコロン : の後の式が評価されます。
以下は三項演算子を使用した例です。
1 2 3 4 |
int num1 = 1; int num2 = 3; String result = num1 == num2 ? "同じ値" : "違う値"; System.out.println(result); // 違う値 |
上のプログラムの場合、num1 と num2 は異なる値なので、条件式は偽となり、コロン : の後の式が評価されます。よって、三項演算子は "違う値" という文字列を返し、その値が result の代入されます。結果として「違う値」が表示されます。
三項演算子は値を返すのに対して、if 文は制御構文であるため値は返しません。そのため if 文とは異なり、三項演算子を用いた式は直接変数に代入したり、戻り値として使用したりすることができます。
もし上の例を if 文で記述した場合は以下のようになります。
1 2 3 4 5 6 7 8 9 10 |
int num1 = 1; int num2 = 3; String result; if (num1 == num2) { result = "同じ値"; } else { result = "違う値"; } System.out.println(result); // 違う値 |
結果は三項演算子を使った場合と同じになります。三項演算子は使い方によっては、if 文を使う場合よりコードを簡潔に記述することができるので便利です。