【超基本】「かつ」や「または」を表現するJavaの条件演算子の使い方

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

「かつ」や「または」といった条件をプログラムに組み込むことはとても頻繁にある。Javaプログラミングでももちろん多用される。

ここで使われるのが条件演算子「&&」と「||」だ。このページでは条件演算子についてまとめたので、参考にして欲しい。

Javaの条件演算子の使い方

Javaの条件演算子は、条件の演算を行う演算子だ。

条件の演算は、条件を表す式の値を演算子のオペランドに与えて論理積や論理和などの演算を行い、結果をboolean型の値として生み出す。この時、オペランド(右と左の値)に与えられる式はboolean型である。

論理演算子と条件演算子は、boolean型の値に対して演算を行うので似ている。しかし、違いがある。条件演算子は、右の式が左の式の値によって、評価されないときがあるということだ。

なかなかわかりにくいと思うので、詳細は次のセクションを見ていただければと思う。

また、条件演算子を使うと、式を組み合わせていろいろな条件を作り出すことができる。複雑な条件を書くためにはどうしたらよいかもサンプルプログラムにある。

まずは、演算子の種類から見ていこう。

「かつ」と「または」を表す演算子の種類

条件演算子には、ふたつの種類がある。次のセクションでこれらのひとつひとつの演算子の詳細を説明している。

  • 条件演算子 &&
  • 条件演算子 ||

「かつ」を表す条件演算子 &&

演算子「&&」はBoolean型の値の論理積を求める。&&演算子の左と右にあるオペランドに対して演算が行われる。

書き方の基本は簡単だ。

演算結果 = オペランド1 && オペランド2;

  • オペランド1とオペランド2が両方ともtrueならば、演算結果はtrueとなる。
  • それ以外はfalseとなる。
  • オペランド1がfalseの場合、オペランド2は評価されない。

ここが違いになるが、はじめは深く考えなくていいだろう。とりあえず、少々違いはありつつも、ほとんど同じように動くと思っておけばいい。

下記のようにすると、20代以上の男性というのが表現出来る。

演算結果 = x > 20 && sex == "男性";

項目

オペランド1

true

true

false

false

オペランド2

true

false

true

false

演算結果

true

false

false

false

図で表すとこんな感じだ。

論理積

「または」を表す条件演算子 ||

演算子「||」は整数のビットの論理和を求める。||演算子の左と右にあるふたつのオペランドに対して演算が行われる。

書き方の基本は簡単だ。

演算結果 = オペランド1 || オペランド2;

オペランド1とオペランド2の論理和の演算結果は次のようになる。

  • オペランド1とオペランド2のどちらかがtrueならば、演算結果はtrueとなる。
  • それ以外はtrueとなる。
  • オペランド1がtrueの場合、オペランド2は評価されない。

例えば、20歳以下または女性というのを表現すると次のようになる。

演算結果 = x <= 20 || sex == "女性";

項目

オペランド1

true

true

false

false

オペランド2

true

false

true

false

演算結果

true

true

true

false

論理和

条件演算子のサンプルプログラム

このサンプルプログラムは、ふたつのオペランドに基本的なboolean型の値の組み合わせを設定したとき、条件演算子からどんな演算結果が得られるかを表示している。実際のコードで、条件演算子の書き方と演算結果を確かめよう。

実行結果

このような結果になる。

二つの式を持つ条件演算子のサンプルプログラム

このサンプルプログラムは、ふたつの式を組み合わせて新しい条件を作り出す方法を示している。実際のコードで、式の組み合わせ方を見てみよう。

実行結果

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

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

  • [1] 変数value1を宣言し、2を代入する。
  • [2] 変数value2を宣言し、7を代入する。
  • [3] 変数resultを宣言する。
  • [4] resultに (value1 == 2) && (value2 == 7)を代入する。
  • [5] resultを表示する。
  • [6] resultに(value1 == 2) && (value2 == 3)を代入する。
  • [7] resultを表示する。
  • [8] resultに(value1 == 2) || (value2 == 3)を代入する。
  • [9] resultを表示する。
  • [10] resultに(value1 == 1) || (value2 == 3)を代入する。
  • [11] resultを表示する。

複雑な条件演算子のサンプルプログラム

このサンプルプログラムは、お母さんと子供の年齢が設定された条件に入っているかどうかを検査している。条件が条件演算子と括弧を使ってちょっと複雑に組み合わせられている。実際のコードで確認してみよう。

実行結果

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

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

  • [1] 変数ageOfMotherを宣言し、25を代入する。
  • [2] 変数ageOfChildを宣言し、4を代入する。
  • [3] 変数resultを宣言する。
  • [4] resultに(ageOfMother == 20) && (ageOfChild >= 7) && (ageOfChild <= 12)を代入する。
  • [5] resultを表示する。
  • [6] resultに(ageOfMother == 25) && ((ageOfChild == 4) || (ageOfChild == 5))を代入する。
  • [7] resultを表示する。

まとめ

このページでは「かつ」と「または」を表す条件演算子「&&」と「||」についてまとめてお伝えした。

本当によく使うので、必ず覚えてしまおう。

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

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

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

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

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

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

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

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


資料を見てみる

SNSでもご購読できます。

コメントを残す

*