【超基本】Javaの論理演算子の使い方

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

Javaで「○○かつ××」や「○○または××」のとき□□する、というように論理演算を扱うには論理演算子と呼ばれるものを使う。

このページではJavaの論理演算子についてまとめてご紹介する。初心者の方はぜひ習得しておこう。

Javaの論理演算子と近いもので条件演算子というものもある。「&&」と「||」だ。これも論理演算子と呼ぶことがあり、またこちらの方が有名だし、使われていたりする。

下記で解説しているので、こちらも確認して欲しい。

論理演算とは?

「この条件とこの条件どちらにもマッチしたとき」や「この条件とこの条件のどちらかにマッチしたとき」だけに○○したいというプログラムを書くことはとてもよくある。

例えば自動販売機のプログラムで、「見た目が男性」で「20代」だったら、ホットコーヒーをオススメする、などだ。こういったときに論理演算子を使う。

論理演算、本を読むと大体次のような図で表現がされている。Aという条件とBという条件があったときに、どこまでがYes(True)になって、どこまでがNo(False)になるかだ。

論理演算

それぞれ確認をしていこう。

Javaの論理演算子の使い方

Javaの論理演算子は、論理演算を行う演算子だ。論理演算は、boolean型の値を演算子のオペランドに与えて論理積や論理和などの演算を行い、結果をboolean型の値として生み出す。

論理演算子にはビット演算子と共通の演算子(&, |, ^)がある。違いは、Boolean値に対して演算するか、それとも数値に対して演算するかである。

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

演算子の種類

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

  • Boolean論理演算子 &
  • Boolean論理演算子 |
  • Boolean論理演算子 ^
  • 論理補数演算子 !

論理演算子の詳細を見てみよう。

 「かつ」を表すBoolean論理演算子 &

演算子「&」は「かつ」を表す。少々難しく言うと論理積だ。&演算子の左と右にあるオペランドのBoolean型の値に対して演算が行われる。

下記でいうと、青い部分のときだけTrueになる。

論理積

書き方の基本は簡単だ。

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

 

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

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

項目

オペランド1

true

true

false

False

オペランド2

true

false

true

False

演算結果

true

false

false

False

「または」を表すBoolean論理演算子 |

演算子「|」はBoolean型の値の論理和を求める。論理和とは「または」という意味だ。だから図で表すともっとも広い。条件に当てはまるものだいたい全部。

論理和

|演算子の左と右にあるふたつのオペランドのBoolean型の値に対して演算が行われる。

書き方の基本は簡単だ。

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

 

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

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

項目

オペランド1

true

true

false

false

オペランド2

true

false

true

false

演算結果

true

true

true

false

「結果が異なれば」を表すBoolean論理演算子 ^

演算子「^」はBoolean型の値の排他論理和を求める。^演算子の左と右にあるふたつのオペランドのBoolean型の値に対して演算が行われる。

排他論理和というから言葉が難しい。簡単な日本語に直すと、「1の条件と2の条件の結果が違ければOK」という話だ。「または」から「かつ」の部分を除いた下記の部分がこれに当たる。

排他的論理演算子

書き方の基本は簡単だ。

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

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

  • オペランド1とオペランド2の値が異なれば、演算結果はtrueとなる。
  • それ以外はfalseとなる。

項目

オペランド1

true

true

false

false

オペランド2

true

false

true

false

演算結果

false

true

true

false

論理補数演算子 !

演算子「!」は補数を求める。!演算子の右にあるオペランドのBoolean型の値に対して演算が行われる。要するに、「否定」とか「逆」を意味する。それ以外、という感じだ。

図で表すと次のようになる。

否定

書き方の基本は簡単だ。

演算結果 = !オペランド;

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

  • オペランドがtrueならば、演算結果はfalseとなる。
  • オペランドがfalseならば、演算結果はtrueとなる。

項目

オペランド

true

false

演算結果

false

true

論理演算子のサンプルプログラム

このサンプルプログラムは、演算子の最初のオペランドがtrueで2番目のオペランドがfalseのとき、3種類の論理演算子はどのような演算結果を出すのかを示している。実際のコードで書き方と演算結果を確かめよう。

実行結果

なんとなくお分かりいただけただろうか? 

これだけだとわかりにくいかもしれないが、if文などで条件を分岐していくプログラムを書いたとき、よく理解できるようになるだろう。

また、上でも書いたが、実際には「&&」や「||」の条件演算子(論理演算子)の方がよく見る。下記も確認しておいて欲しい。

まとめ

このページでは論理演算子についてまとめてお伝えをしてきた。いずれもよく使うので、使い方含め覚えてしまおう。

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

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

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

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

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

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

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


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


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


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


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


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

SNSでもご購読できます。

コメントを残す

*

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

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

IT講師に応募する