初心者でも2分でわかる!Javaの三項演算子の使い方

javaの三項演算子
  • このエントリーをはてなブックマークに追加
  • Pocket

三項演算子という言葉をご存知だろうか?

エンジニアによって好みは分かれるが、数行のプログラムが1行で書け、便利な書き方になっている。if文を書かずとも、条件分岐をさせられる書き方で、使い方も簡単だ。

このページではJavaの三項演算子について使い方をお伝えする。参考にしてほしい。

三項演算子の使い方

Javaの三項演算子は、3つのオペランド(数字とか変数とか)を持つ演算子だ。最初のオペランドは、条件となる式である。あとの二つは、条件から選ばれる二つの式である。条件と選ばれる式の関係は次のようになる。

  • オペランド1がtrueならば、オペランド2が生み出した値を演算結果に代入する。
  • オペランド1がfalseならば、オペランド3が生み出した値を演算結果に代入する。

この三項演算子を用いると、条件とそれに対応した式をコンパクトに書くことができる。ただし、条件に応じて選ばれるふたつの式の型に注意が必要である。この点はJava言語仕様に詳しく書かれている。

書き方の基本は簡単だ。

演算結果 = オペランド1 ? オペランド2 : オペランド3;

例えば、xとyを比べて、xの方が大きい時はxを、yの方が大きい時はyをzに代入したいというときは次のようになる。

z = x > y ? x: y;

まだ知らない方も多いだろうが、if文で書くと、行数は跳ね上がる。それが一行でかけるので効率がいいわけだ。

三項演算子のサンプルプログラム

このサンプルプログラムは、三項演算子のオペランド1のBoolean値に応じてオペランド2とオペランド3が選択されることを示している。

さらに、オペランド3が選択されたときオペランド2の型と異なっていてもよいことも確認できるようになっている。

実行結果

サンプルプログラムの説明

それでは簡単にプログラムの解説をしてゆこう。

  • [7] integerValue3 > integerValue2 ? integerValue3 : integerValue2をresultに代入する。
  • [8] resultを表示する。
  • [9] integerValue3 < integerValue2 ? integerValue3 : integerValue2をresultに代入する。
  • [10] resultを表示する。
  • [11] integerValue3 < integerValue2 ? integerValue3 : longValue2をresultに代入する。
  • [12] resultを表示する。
  • [13] integerValue3 < integerValue2 ? integerValue3 : shortValue2をresultに代入する。
  • [14] resultを表示する。
  • [15] integerValue3 < integerValue2 ? integerValue3 : byteValue2をresultに代入する。
  • [16] resultを表示する。

三項演算子は使わない方がいい?

「三項演算子はわかりにくいから使わないように」と教わることがある。理由は直感的でないからだ。

if文でも同じことができるので、そちらを使うという方針を取っている企業もある。

しかし、定義を考えると、三項演算子はあくまでも2つの数字から1つを効率良く選ぶ方法だ。分岐処理というより、2つの数字からどちらを選ぶというときには、効率がいい。

使い道を誤らず、使っていきたい演算子だ。

まとめ

このページではJavaの三項演算子についてお伝えした。使い方と読み方は必ず覚えておこう。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できます。

IT講師に興味はありませんか?

・「今までIT講師をやってきたが、更に多くの講義を行いたい」

・「エンジニアとしてやってきたが講師業に魅力を感じている」

・「講師として活躍するためにベースとなる知識を知りたい」

・「様々な分野や言語の講師にチャレンジしてみたい」


という方はぜひIT講師募集のページをご覧ください。


リカレントテクノロジーでは「受講している方々にITを好きになってもらう」ことを目標に、同じ目標に向かって歩んで行ける講師の方を常に探しています。


システム開発やインフラ構築などのエンジニアリング経験を活かし、新入社員などの未経験者や経験の浅い初学者の方々に対してITトレーニングを行っていただくことになります。


テキストやカリキュラムは事前に用意されており、それらを元に講義を進めていくため、IT講師をはじめて実施する方でも安心してトレーニングを実施できます。


IT講師募集のページを見る

SNSでもご購読できます。

コメントを残す

*

未経験からの育成制度も充実
IT講師に興味はありませんか?

リカレントテクノロジーでIT講師の積極募集を開始! 経験・未経験問わずご応募可能。育成制度で講師スキル向上も目指せます

IT講師に応募する