Java|三項演算子を理解する【初心者向け】

Java

通常のif-else文を一行で記述できる便利な方法です。

三項演算子を活用することで、コードの可読性と簡潔さが向上します。

三項演算子の基本構文

三項演算子の基本構文は以下の通りです:

condition ? trueExpression : falseExpression;
  • condition: 評価される条件(真または偽の値を返す論理式)
  • trueExpression: conditionが真の場合に評価される式
  • falseExpression: conditionが偽の場合に評価される式

使用例

具体的な例を通じて三項演算子の使い方を見てみましょう。

int a = 10;
int b = 20;

// 最大値を求める
int max = a > b ? a : b;
System.out.println("最大値は: " + max);

上記のコードでは、abを比較して、aが大きい場合はaを、そうでない場合はbmaxに代入しています。if-else文を使うと、以下のようになります:

int max;
if (a > b) {
max = a;
} else {
max = b;
}
System.out.println("最大値は: " + max);

ご覧の通り、三項演算子を使うことで、コードがよりシンプルになります。

実用的な例

三項演算子は、単純な条件判断だけでなく、より実用的なシナリオでも役立ちます。例えば、ユーザーの年齢に応じたメッセージを表示する場合:

int age = 18;
String message = age >= 18 ? "成人です" : "未成年です";
System.out.println(message);

この例では、ageが18以上であれば「成人です」を、そうでなければ「未成年です」をmessageに代入しています。

注意点

三項演算子は便利ですが、以下の点に注意する必要があります:

  1. 可読性: 簡潔さゆえに、複雑な条件や長い式を含む場合、可読性が低下することがあります。そのような場合はif-else文を使用する方が良いでしょう。
  2. ネストの回避: 三項演算子をネスト(入れ子)にすると、コードが読みづらくなります。必要以上にネストするのは避けるべきです。
// 読みにくい例
String result = (x > 10) ? ((y < 5) ? "A" : "B") : "C";

このような場合、if-else文を使った方がわかりやすくなります。

String result;
if (x > 10) {
if (y < 5) {
result = "A";
} else {
result = "B";
}
} else {
result = "C";
}

実務での失敗

三項演算子にて、boolean型に真偽入れる処理を書いたソースです。

int age = 18;
boolean over18 = age >= 18 ? true : false;

booleanには真偽値がいるので、冗長なコードになっていました。

修正後

int age = 18;
boolean over18 = age >= 18;

まとめ

使用頻度は高くないですが、使えると便利です。

三項演算子は、可読性を損なわないように注意し、

必要に応じてif-else文と使い分けることが重要です。

コメント

タイトルとURLをコピーしました