Javaで3項演算子をマスターしよう!使い方やネスト・省略など応用も紹介
  • facebookページ
  • twitterページ
  • 2021.01.29

    Javaで3項演算子をマスターしよう!使い方やネスト・省略など応用も紹介

    Javaの3項演算子とは?

    この記事では、Javaの3項演算子について解説します。

    3項演算子とは、3つの変数に対して使うもので、if文をはじめとした条件分岐を省略するために使う演算子のことです。

    ポテパンダの一言メモ

    ちなみに、3項演算子以外にも「単項演算子」「2項演算子」があります。

    単項演算子は、変数1つに対して使うものです。

    例えば、数値型の変数を1つ増やす「++演算子」や、変数や条件式を true から false に、false から true に「!演算子」といったものがあります。

    一方、2項演算子は、2つの変数に対して使うものです。

    数値の計算でよく使う「+演算子」や「-演算子」などが当てはまります。

    3項演算子の使い方

    ではさっそく、3項演算子の使い方を見ていきましょう。

    使うときは、次のように記述します。

    「条件式」の部分に任意の条件を記述します。

    そして「?」の後ろの「式1」に、trueの場合の式を、「式2」に、falseの場合の式を書く形です。

    3項演算子は改行して記述も可能

    3項演算子は、可読性を上げるために改行して記述してもOKです。

    その場合は、次のように記述できます。

    if文と3項演算子を比較

    ここでは、3項演算子とif文の内容を比較しながら使ってみます。

    記述例は次の通りです。

    上記のプログラムは、int型の変数「i01」「i02」を比較し、結果によって表示する文字列を制御しています。

    内容はまったく同じですが、3項演算子の方が記述量(行)が少なく、スッキリまとまっています。

    実行結果は次の通りです。

    どちらも、同じ表示結果になっているのがわかります。

    また、先述した改行して書く方法は次の通りです。

    実行結果は、上記と同じになります。

    3項演算子を複数の条件でネストして使う

    3項演算子は、ネスト(入れ子)にして使うことも可能です。

    ここでは、3項演算子で条件式を複数設定する方法を見ていきましょう。

    記述方法は次の通りです。

    基本構文に、条件式と出力させる式を追加します。

    少し複雑に感じるかもしれませんか、それぞれの条件式の結果による出力結果は、次の通りになります。

    条件式1 条件式2 出力結果
    true true 出力結果1
    true false 出力結果2
    false true 出力結果3
    false false 出力結果3

    では、実際にプログラムを動かして確認してみます。

    出力結果は、どれも意図した通りになっているのがわかりますね。

    3項演算子で何もしない・falseを省略する処理は入れられる?

    例えば、falseの場合は何もしないといった動きはできるでしょうか?

    結論を言うと、何かしらの値は入れる必要があります。代わりの方法として「空白」にするか「null」を返すことができるでしょう。

    出力結果がString型の場合、返す値を空白にすることで、何もしない処理を実現可能です。

    具体的には、次のように記述できます。

    実行結果は、空白で返ります。

    また、String型でない場合などは「null」を返すことでも似たような処理になるでしょう。

    nullは、変数の値に何も定義されていない(何も入っていない)状態を表す特殊な値です。

    記述例は次のようになります。

    こちらは実行結果で「null」が返ります。

    nullについて理解を深めたい場合は、以下の記事をチェックしてみてください。

    【関連記事】
    ▶︎Javaでnullを正しく扱おう!新しいOptionalクラスも活用

    まとめ

    Javaの3項演算子について解説しました。

    3項演算子は、記述量が減るというメリットがある一方で、処理がわかりにくくなり可読性が下がると感じる場合もあります。

    特に、ネストして使う場合は、結果がどのように分岐するかわかりづらくなるでしょう。

    そのため、3項演算子は使い所を見極め、必要に応じてif文を使うなど配慮が必要でしょう。

    もし、3項演算子を使う場合は、ぜひこの記事を参考にしてくださいね。



    優良フリーランス案件多数掲載中!
    フリーランスエンジニアの案件をお探しなら
    ポテパンフリーランス

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE