Javaの比較演算子、論理演算子について解説します。
比較演算子、論理演算子はif文などの条件分岐で使用されます。
日本語だけだと何だかわからないと思いますが、
- 比較演算子は「==、!=、<、>」
- 論理演算子は「&&、||」
のことです。
何かとソースコードのif文で使っているのを見たことあると思います。
今回は、この比較演算子、論理演算子について解説します。
それでは行きましょう!
目次
比較演算子
比較演算子はif文などの条件分岐で「x == y」のように2つの値や変数を比較するために使用する演算子です。
どのプログラミングでも共通して言えますが、
「= (イコール1つ)」だと変数へ代入となりますので、同じかどうか比較するには「== (イコール2つ)」で記述します。
比較演算子の一覧
「==」の他にも「異なる、より大きい・より小さい、以上・以下」の比較方法がありますので、次の一覧にまとめました。
演算子 | 使い方 | 意味 |
---|---|---|
== | x == y | x と y の値は同じ |
!= | x != y | x と y の値が異なる |
> | x > y | x は y より大きい |
>= | x >= y | x は y 以上 |
< | x < y | x は y より小さい |
<= | x <= y | x は y 以下 |
色んな比較演算子がありますね。
次は実際にソースコードに書いてみます。
比較演算子を使ってみる
ほんの一部ですが、「!=、<」の2つをピックアップして使ってみました。
if文の条件が一致したときだけ文字を表示するようにソースコードを書いています。
Integer x = 10; Integer y = 20; if (x != y) { System.out.println("x と y の値が異なる"); } if (x < y) { System.out.println("x と y より小さい"); }
実行結果:

「!=、<」どちらも条件に一致したので、文字が表示されました。
このように2つの変数を比較することができます。
論理演算子
論理演算子は、複数の条件を組み合わせたいときに使用します。
論理演算子の一覧
論理演算子の一覧をまとめました。
演算子 | 使い方 | 意味 |
---|---|---|
&& | x && y | and 条件で判定する。 x と y は両方とも true の時 true |
|| | x || $y | or 条件で判定する。 x と y の少なくとも1つが true の時 true |
! | !x | not 条件で判定する。 x が trueの時 false、 false の時 true |
論理演算子の判定イメージ(ベン図)
一覧の意味を見てもよくわからないと思いますので、ベン図というイメージを使って解説します。
論理演算子の判定イメージは「ベン図」を見るとわかりやすいです。
基本情報技術者試験などの参考書によく出てくるやつです。
&&(and 条件)
xとyの円がちょうど重なった青色の部分であるかを判定します。
xとyの両方が true の時 true となります。

|| (or 条件)
xとyの円自体であるか判定します。
x と y の少なくとも1つが true の時 true となります。

!(not 条件)
xの円ではない部分であるか判定します。
x が true の時 false となり、x が false の時 true に判定が反転します。

論理演算子を使ってみる
if文を使って論理演算子の判定をしてみます。
Boolean x = true; Boolean y = false; //and if (x && y) { System.out.println("x, y は両方とも true"); } else { System.out.println("x, y は両方 true ではない"); } //or if (x || y) { System.out.println("x, y の少なくとも1つが true"); } else { System.out.println("x, y は両方とも false"); } //not if (!x) { System.out.println("x に入ってる値は false"); } else { System.out.println("x に入ってる値は true"); }
x には true を、y には false を入れて「&&、||、!」を判定するソースコードを書いてみました。
and判定は「false」、or判定は「true」、not判定は「true」となりました。

上記のようにBoolean型単体の判定は、実際の現場ではフラグ判定によく使ったりします。例えば「メール送信フラグで、2回目以降はメール送信しない」など。
Boolean型以外では比較演算子と組み合わせて使ったりします。
次で解説します。
比較演算子、論理演算子をif文で使ってみる(組み合わせ)
最後に、
これまで論理演算子だけの判定について解説しましたが、比較演算子と組み合わせを紹介します。
Integer x = 10; Integer y = 20; if (x != y && x < 100) { System.out.println("x は y とは値が異なり、かつ100より小さい"); }
実行結果:

x を中心にif文で判定しました。
x は y と同じで、100より小さいかの複数の比較条件で判定しています。
まとめ
Javaの比較演算子、論理演算子について次の内容を解説しました。
- 比較演算子(一覧、使い方)
- 論理演算子(一覧、使い方、ベン図)
- 比較演算子、論理演算子の組み合わせ
比較演算子、論理演算子は基本的なJava構文ですが、「どんなことができるか」の感触をつかめたら良いと思います。
あとで実際にソースコードを書くときにこの記事を見ていただければ幸いです。