三項演算子とは、Javaにおいて1行で簡単に条件判断を行うための便利な演算子です。考え方としてはif文に近いものがあります。本記事では三項演算子について分かりやすく解説します。
構文
- 条件式がtrueの場合は「真の場合の値」が返されます。
- 条件式がfalseの場合は「偽の場合の値」が返されます。
Java
条件式 ? 真の場合の値 : 偽の場合の値;
コード例
Java
int a = 10;
int b = 5;
int max = (a > b) ? a : b;
System.out.println("大きい方の値は: " + max);
この例では、a > b
がtrue
ならa
が、false
ならb
がmax
に代入されます。結果として、a
が10
なので、出力は「大きい方の値は: 10」となります。
三項演算子の特徴
- シンプルに条件分岐が記述できるため、短い条件分に向いています。
- 長く複雑な条件式にはif-else文を使用した方が可読性が高いです。
三項演算子のデメリット
- 可読性が低下する
三項演算子を過剰に使用すると、コードの可読性が悪くなることがあります。特に、条件が複雑になった場合や、入れ子にして使用すると、どの条件で何が起こっているか理解しづらくなります。
Java
int result = (a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c);
上記のような入れ子の三項演算子は、読むのが難しくなり、保守性も悪化します。if-else
文で書いた方が明確です。
まとめ
三項演算子は、シンプルに条件式を記述できる便利な構文です。しかし、複数の条件が重なる場合に使用すると、可読性が低下するため注意が必要です。