比較演算子は Java の入門で学ぶ基本的な構文です。2つの値を比較し、if 文などの制御構文などと合わせて使用します。この記事では、Java の入門者向けに比較演算子の使い方や、比較演算子を使った実装サンプルコードを紹介していきます。
比較演算子
比較演算子は2つの値を比較し、その判定結果を true もしくは false の boolean 型の値で得ます。この比較演算子と if などの制御構文を組み合わせることで、条件によって処理を分岐させたりします。
比較演算子の種類
Java で使用できる比較演算子には、次の6種類があります。
比較演算子 | 例 | 説明 |
---|---|---|
== | a == b | a と b は等しい |
!= | a != b | a と b は等しくない |
> | a > b | a はbより大きい |
>= | a >= b | a は b 以上 |
< | a < b | a は b よりも小さい |
<= | a <= b | a は b 以下 |
比較演算子を使ってみよう
では、比較演算子を使って2つの値を比較し、その結果によって処理を分岐させるサンプルコードを作ってみましょう。
== (イコール)
== は、左辺と右辺の値が同じ時、比較演算子の結果が true になります。
int a = 100;
int b = 100;
if (a == b) {
System.out.println("aとbは等しい");
}
【実行結果】
aとbは等しい
比較する2つの値が異なる場合、比較演算子の結果は false になるため、次のように、変数 a と b の値が異なる時は、 if 分岐の中の処理は実行されません。
int a = 100;
int b = 200;
if (a == b) {
System.out.println("aとbは等しい");
}
【実行結果】
(何も出力されない)
!= (ノット イコール)
== は、左辺と右辺の値が異なる時、比較演算子の結果が true になります。
int a = 100;
int b = 100;
int c = 200;
if (a != b) {
System.out.println("aとbは等しくない");
}
if (a != c) {
System.out.println("aとcは等しくない");
}
【実行結果】
aとcは等しい
> (大なり)
> は、左辺と右辺の値を比較し、左辺の値の方が大きかった時に、比較演算子の結果が true になります。
int a = 200;
int b = 100;
int c = 200;
if (a > b) {
System.out.println("aはbより大きい");
}
if (a > c) {
System.out.println("aはcより大きい");
}
【実行結果】
aはbより大きい
>= (以上)
>= は、左辺と右辺の値を比較し、左辺の値の方が大きいか等しい時、比較演算子の結果が true になります。
int a = 200;
int b = 100;
int c = 200;
if (a >= b) {
System.out.println("aはb以上");
}
if (a >= c) {
System.out.println("aはc以上");
}
【実行結果】
aはb以上
aはc以上
< (小なり)
< は、左辺と右辺の値を比較し、左辺の値の方が小さかった時、比較演算子の結果が true になります。
int a = 200;
int b = 300;
int c = 200;
if (a < b) {
System.out.println("aはbより小さい");
}
if (a < c) {
System.out.println("aはcより小さい");
}
【実行結果】
aはbより小さい
>= (以上)
>= は、左辺と右辺の値を比較し、左辺の値の方が小さいか等しい時、比較演算子の結果が true になります。
int a = 200;
int b = 300;
int c = 200;
if (a >= b) {
System.out.println("aはb以下");
}
if (a >= b) {
System.out.println("aはc以下");
}
【実行結果】
aはb以下
aはc以下
【関連記事】
▶Javaのif文6つの書き方をわかりやすく解説【サンプルコードあり】
if 文以外でも比較演算子は使える
ここまで if 文の条件式に比較演算子を使う例で紹介してきましが、比較演算子は if 文以外でも使用可能です。
例えば、次の例のように、メソッドの戻り値に比較演算子の結果を boolean 型の値で返すようなこともできます。
// 引数の年齢(age)が 20以上の場合 true、それ以外では false を返すメソッド
public static boolean judgmentAdult(int age) (
return age >= 20;
}
また、条件演算子(三項演算子)のような条件式でも比較演算子を使用できます。
int age = 20;
String result = age >= 20 ? "成人です" : "未成年です";
比較演算子の応用
比較演算子と論理演算子などを組み合わせることで、変数の値が指定した条件の範囲内であるかなど、さまざまな条件で値を比較することができます。
いくつか、比較演算子を応用したサンプルコードを見ていきましょう。
値の範囲をチェック
以下のサンプルコードは、変数の値が、100〜200 の範囲内であるかを、比較演算子と論理演算子を使って判定する例です。
int value1 = 110;
int value2 = 99;
if (100 <= value1 && value1 <= 200) {
System.out.println("value1は 100〜200の範囲内です");
}
if (100 <= value2 && value2 <= 200) {
System.out.println("value2は 100〜200の範囲内です");
}
【実行結果】
value1は 100〜200の範囲内です
2つの範囲の交差を判定
次のイメージのようにに、2つの値の範囲を比較し、お互いの範囲に交差する部分があるかチェックするような条件式を書いてみましょう。
2つの範囲で交差する部分(上のイメージの赤色の部分)を判定する場合は、次のような比較演算子と論理演算子の組み合わせになります。
int a1 = 60;
int a2 = 110;
int b1 = 100;
int b2 = 150;
if (b2 > a1 && b1 < a2) {
System.out.println("A(60-110)とB(100-150)の範囲には重複があります");
}
まとめ
Java の比較演算子て、値の一致や大小比較を行う方法を解説してきました。
比較演算子は、Java やそれ以外のプログラミング言語における、入門者向けの内容となりますので、是非覚えておきましょう。
- 比較演算子は2つの値を比較した結果を boolean で取得する
- 比較演算子には ==(イコール)、!= (ノットイコール)、>(大なり)、>=(以上)、< (小なり)、<= (以下)の6つがある
- if 文の条件式以外でも、どこでも使える