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

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

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

エンジニアによって好みは分かれるが、数行のプログラムが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

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

短期間でエンジニアになる方法

・「まったくの初心者だけどエンジニアになりたい!」

・「プログラマーとして転職をしたい!」

という方はリナックスアカデミーの資料を見てみてください。短期間で未経験からエンジニアになることができるスクールとして15年間選ばれ続けてきた理由やノウハウが載った資料です。

エンジニアの入り口に立つために必要な勉強技術の最新動向本当に使えるIT資格学習に役立つ国からの奨励金などの情報が詰まっています。

無料で2,3日中にお手元にお届けします。


資料を見てみる

SNSでもご購読できます。

コメントを残す

*