カテゴリ: Javaの演算子 更新日: 2026/06/27

Java の比較演算子「==, !=, >, <」を使って条件を判定しよう

071
Java の比較演算子「==, !=, >, <」を使って条件を判定しよう

新人と先輩の会話形式で理解しよう

新人

「Java で数値を比較する方法はありますか?」

先輩

「Java では、比較演算子 を使って、2 つの値が等しいか、大きいか、小さいかを判定できるよ。」

新人

「どんな記号を使うんですか?」

先輩

「比較演算子には、==(等しい)、!=(等しくない)、>(大きい)、<(小さい) などがあるよ。詳しく見てみよう!」

1. 比較演算子とは?(基本的な説明)

1. 比較演算子とは?(基本的な説明)
1. 比較演算子とは?(基本的な説明)

Java では、比較演算子 を使って、2 つの値の関係を調べることができます。

比較演算子の種類

  • ==(等しい) … 2 つの値が等しいかどうかを判定
  • !=(等しくない) … 2 つの値が異なるかどうかを判定
  • > … 左の値が右の値より大きいかどうかを判定
  • < … 左の値が右の値より小さいかどうかを判定

例えば、次のようなコードで比較を行えます。


public class ComparisonExample {
    public static void main(String[] args) {
        int a = 10;
        int b = 5;

        System.out.println("a == b: " + (a == b));
        System.out.println("a != b: " + (a != b));
        System.out.println("a > b: " + (a > b));
        System.out.println("a < b: " + (a < b));
    }
}

a == b: false
a != b: true
a > b: true
a < b: false

このように、比較演算子を使えば、値の大小や一致・不一致を簡単に判定できます。

2. 「==」と「!=」の使い方(値が等しいかどうかを判定)

2. 「==」と「!=」の使い方(値が等しいかどうかを判定)
2. 「==」と「!=」の使い方(値が等しいかどうかを判定)

==(イコール) は 2 つの値が等しいかどうかを調べるときに使います。

==(等しい)の例

例えば、次のプログラムでは 2 つの値が同じかどうかを確認します。


public class EqualCheck {
    public static void main(String[] args) {
        int x = 10;
        int y = 10;
        boolean isEqual = x == y;

        System.out.println("x と y は等しいか?: " + isEqual);
    }
}

x と y は等しいか?: true

このように、== を使うと、2 つの値が等しいかどうかを確認できます。

!=(等しくない)の例

!=(ノットイコール) は 2 つの値が異なるかどうかを調べるときに使います。


public class NotEqualCheck {
    public static void main(String[] args) {
        int x = 10;
        int y = 5;
        boolean isNotEqual = x != y;

        System.out.println("x と y は異なるか?: " + isNotEqual);
    }
}

x と y は異なるか?: true

!= を使うと、値が違うかどうかを判定できます。

3. 「>」と「<」の使い方(大小を判定する方法)

3. 「>」と「<」の使い方(大小を判定する方法)
3. 「>」と「<」の使い方(大小を判定する方法)

Java では、>(大きい) と <(小さい) を使って、数値の大小を比較することができます。

>(大きい)の例

次のプログラムでは、2 つの値を比較し、大きいかどうかを判定します。


public class GreaterThanCheck {
    public static void main(String[] args) {
        int a = 15;
        int b = 10;
        boolean isGreater = a > b;

        System.out.println("a は b より大きいか?: " + isGreater);
    }
}

a は b より大きいか?: true

このように、> を使うと、左側の値が右側の値より大きいかどうかを判定できます。

<(小さい)の例

< を使うと、左側の値が右側の値より小さいかどうかを判定できます。


public class LessThanCheck {
    public static void main(String[] args) {
        int a = 5;
        int b = 10;
        boolean isLess = a < b;

        System.out.println("a は b より小さいか?: " + isLess);
    }
}

a は b より小さいか?: true

このように、数値の比較をすることで、値の大小を判断できます。

Javaをこれから始める人や、 オブジェクト指向の考え方を基礎から理解したい人には、 定番の入門書がこちらです。

スッキリわかるJava入門 第4版をAmazonで見る

※ Amazon広告リンク

4. 比較演算子を使った簡単な条件判定の例

4. 比較演算子を使った簡単な条件判定の例
4. 比較演算子を使った簡単な条件判定の例

比較演算子を使って、特定の条件を満たしているかどうかを判定することができます。

2 つの数値を比較して大きい方を判定する

例えば、2 つの数値のどちらが大きいかを判定してみましょう。


public class CompareNumbers {
    public static void main(String[] args) {
        int x = 20;
        int y = 15;

        boolean xIsBigger = x > y;
        boolean yIsBigger = y > x;

        System.out.println("x は y より大きいか?: " + xIsBigger);
        System.out.println("y は x より大きいか?: " + yIsBigger);
    }
}

x は y より大きいか?: true
y は x より大きいか?: false

このように、>< を使って、どちらの数値が大きいかを判定できます。

2 つの数値が等しいかどうかを判定する

2 つの値が同じかどうかを調べるには、== を使います。


public class EqualCheck {
    public static void main(String[] args) {
        int a = 10;
        int b = 10;
        boolean isEqual = a == b;

        System.out.println("a と b は等しいか?: " + isEqual);
    }
}

a と b は等しいか?: true

比較演算子を活用することで、さまざまな条件判定ができるようになります。

5. 比較演算子の注意点(データ型による違い)

5. 比較演算子の注意点(データ型による違い)
5. 比較演算子の注意点(データ型による違い)

比較演算子は、データ型によって動作が異なる場合があります。

整数型(int)と小数型(double)の比較

整数(int)と小数(double)を比較すると、小数の方が精度が高くなります。


public class DataTypeComparison {
    public static void main(String[] args) {
        int a = 5;
        double b = 5.0;

        System.out.println("a == b: " + (a == b));
        System.out.println("a > b: " + (a > b));
        System.out.println("a < b: " + (a < b));
    }
}

a == b: true
a > b: false
a < b: false

この場合、整数型の 5 と小数型の 5.0 は等しいと判定されます。

文字列の比較に注意

Java では、文字列の比較には == ではなく equals メソッドを使います。


public class StringComparison {
    public static void main(String[] args) {
        String str1 = "Java";
        String str2 = "Java";

        System.out.println("str1 == str2: " + (str1 == str2));
        System.out.println("str1.equals(str2): " + str1.equals(str2));
    }
}

str1 == str2: true
str1.equals(str2): true

このように、文字列を比較するときは、== ではなく equals メソッドを使いましょう。

6. 比較演算子を使った計算の例(数値の比較)

6. 比較演算子を使った計算の例(数値の比較)
6. 比較演算子を使った計算の例(数値の比較)

比較演算子を使って、数値を比較する具体的な例を見てみましょう。

数値の大小を判定する

例えば、2 つの数を比較して、どちらが大きいかを判定するプログラムです。


public class NumberComparison {
    public static void main(String[] args) {
        int num1 = 25;
        int num2 = 30;

        System.out.println("num1 == num2: " + (num1 == num2));
        System.out.println("num1 != num2: " + (num1 != num2));
        System.out.println("num1 > num2: " + (num1 > num2));
        System.out.println("num1 < num2: " + (num1 < num2));
    }
}

num1 == num2: false
num1 != num2: true
num1 > num2: false
num1 < num2: true

このプログラムでは、数値の比較を行い、true または false の結果を返します。

条件に応じたメッセージを表示する

次に、比較演算子を使って、どちらの数値が大きいかを判定し、適切なメッセージを表示するプログラムです。


public class CompareNumbersWithMessage {
    public static void main(String[] args) {
        int num1 = 45;
        int num2 = 20;

        if (num1 > num2) {
            System.out.println("num1 は num2 より大きいです。");
        } else if (num1 < num2) {
            System.out.println("num1 は num2 より小さいです。");
        } else {
            System.out.println("num1 と num2 は等しいです。");
        }
    }
}

num1 は num2 より大きいです。

このように、比較演算子を使って、条件に応じたメッセージを出力できます。

7. 文字列の比較について(equals メソッドとの違い)

7. 文字列の比較について(equals メソッドとの違い)
7. 文字列の比較について(equals メソッドとの違い)

Java では、文字列の比較に == を使うと、期待通りの動作をしない場合があります。

== で文字列を比較する場合の問題

以下のプログラムでは、文字列を比較しています。


public class StringComparison {
    public static void main(String[] args) {
        String str1 = "Java";
        String str2 = "Java";

        System.out.println("str1 == str2: " + (str1 == str2));
    }
}

str1 == str2: true

この場合、== でも比較が成功していますが、これは Java が同じ文字列リテラルを同じメモリ領域に格納しているためです。

equals メソッドを使う

しかし、異なるオブジェクトとして生成された文字列を比較すると、== では正しく判定できません。


public class StringEqualsCheck {
    public static void main(String[] args) {
        String str1 = new String("Java");
        String str2 = new String("Java");

        System.out.println("str1 == str2: " + (str1 == str2));
        System.out.println("str1.equals(str2): " + str1.equals(str2));
    }
}

str1 == str2: false
str1.equals(str2): true

== ではメモリのアドレスを比較するため、異なるオブジェクトとして生成された場合は false になります。

文字列の内容を比較する場合は、必ず equals メソッドを使いましょう。

8. 練習問題:比較演算子を使ったプログラムを作ろう

8. 練習問題:比較演算子を使ったプログラムを作ろう
8. 練習問題:比較演算子を使ったプログラムを作ろう

最後に、比較演算子を使って簡単なプログラムを作成してみましょう。

問題 1: 2 つの数値を比較する

ユーザーが入力した 2 つの数値を比較し、大きい方を表示するプログラムを作りましょう。


import java.util.Scanner;

public class CompareTwoNumbers {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.print("1つ目の数値を入力してください: ");
        int num1 = scanner.nextInt();

        System.out.print("2つ目の数値を入力してください: ");
        int num2 = scanner.nextInt();

        if (num1 > num2) {
            System.out.println("大きい数値は: " + num1);
        } else if (num1 < num2) {
            System.out.println("大きい数値は: " + num2);
        } else {
            System.out.println("2つの数値は等しいです。");
        }

        scanner.close();
    }
}

1つ目の数値を入力してください: 15
2つ目の数値を入力してください: 10
大きい数値は: 15

問題 2: 文字列の比較をする

ユーザーが入力した 2 つの文字列を比較し、同じかどうかを判定するプログラムを作りましょう。


import java.util.Scanner;

public class CompareStrings {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.print("1つ目の文字列を入力してください: ");
        String str1 = scanner.nextLine();

        System.out.print("2つ目の文字列を入力してください: ");
        String str2 = scanner.nextLine();

        if (str1.equals(str2)) {
            System.out.println("2つの文字列は同じです。");
        } else {
            System.out.println("2つの文字列は異なります。");
        }

        scanner.close();
    }
}

1つ目の文字列を入力してください: Java
2つ目の文字列を入力してください: Java
2つの文字列は同じです。

このように、比較演算子や equals メソッドを使うことで、数値や文字列の比較を簡単に行うことができます。

まとめ

まとめ
まとめ

Javaの比較演算子の基本をしっかり理解しよう

今回はJavaにおける比較演算子の基本として、イコールやノットイコール、大きい小さいといった条件判定の方法について詳しく学びました。Javaの比較演算子は、プログラムの分岐処理や条件判断を行うための最も重要な基礎文法の一つです。比較演算子を正しく理解することで、数値の大小関係や一致不一致を判断し、処理の流れを制御できるようになります。Java初心者が最初にしっかり身につけておくべき内容であり、今後のif文やループ処理、さらにはオブジェクト指向の設計にも大きく関わってきます。

比較演算子の種類と役割を整理する

Javaの比較演算子には、等しいかどうかを判定するイコールや、異なるかどうかを判定するノットイコール、さらに大小を比較する大なり小なりがあります。それぞれの演算子は、条件式の中で使用され、結果として真か偽の値を返します。この真偽値は、条件分岐の判断材料となり、プログラムの動作を大きく左右します。Javaの基礎を理解するうえで、比較演算子と真偽値の関係は非常に重要なポイントです。

サンプルコードで理解を深める


public class ComparisonSummary {
    public static void main(String[] args) {
        int a = 30;
        int b = 20;

        System.out.println("a と b が等しいか: " + (a == b));
        System.out.println("a と b が異なるか: " + (a != b));
        System.out.println("a が b より大きいか: " + (a > b));
        System.out.println("a が b より小さいか: " + (a < b));
    }
}

a と b が等しいか: false
a と b が異なるか: true
a が b より大きいか: true
a が b より小さいか: false

このように比較演算子を使うことで、数値同士の関係を簡単に判断することができます。Javaのプログラムでは、この結果をもとに処理を分岐させることが多いため、基本動作をしっかり理解しておくことが大切です。

文字列比較の注意点を理解する

Javaにおいて特に重要なのが、文字列の比較方法です。数値の比較ではイコールを使うことができますが、文字列の場合はイコールではなく専用のメソッドを使う必要があります。これは、Javaが文字列をオブジェクトとして扱っているためです。見た目が同じ文字列であっても、異なる場所に保存されている場合は同一とは判断されません。そのため、文字列の内容を比較したい場合は専用の方法を使う必要があります。この違いを理解していないと、思わぬバグにつながるため注意が必要です。

条件分岐との組み合わせが重要

比較演算子は単体で使うだけでなく、条件分岐と組み合わせることで真価を発揮します。たとえば、ある値が一定の条件を満たしているかどうかを判定し、それに応じて処理を変えるといった使い方が一般的です。Javaのif文と組み合わせることで、より実用的なプログラムを作成できます。比較演算子を使いこなすことは、Javaのプログラムを自由に制御するための第一歩となります。

応用例としての条件判定プログラム


public class ConditionExample {
    public static void main(String[] args) {
        int score = 75;

        if (score >= 80) {
            System.out.println("とても良い結果です");
        } else if (score >= 60) {
            System.out.println("合格です");
        } else {
            System.out.println("もう少し頑張りましょう");
        }
    }
}

合格です

このように比較演算子を使うことで、現実の条件に近い形で処理を記述することができます。Javaの基礎文法として、実践的に使えるようになることが重要です。

Java学習における重要な基礎スキル

比較演算子は、Javaプログラミングの基礎でありながら、非常に重要なスキルです。これを理解することで、条件分岐、繰り返し処理、入力チェック、データ判定など、さまざまな場面で活用できます。Java初心者の段階でしっかり理解しておくことで、より複雑なプログラムにも対応できるようになります。単に文法として覚えるだけでなく、どのような場面で使うのかを意識しながら学習を進めていくことが大切です。

先生と生徒の振り返り会話

生徒

Javaの比較演算子は条件を判断するために必要な基本の仕組みだと分かりました。

先生

その通りです。比較演算子はすべての条件分岐の基礎になります。

生徒

イコールやノットイコールだけでなく大小の比較も重要ですね。

先生

はい。数値の判断だけでなく、条件分岐の精度にも関わります。

生徒

文字列の比較で注意が必要な点も理解できました。

先生

そこはとても大事なポイントです。間違えるとバグの原因になります。

生徒

これからは条件分岐と一緒に使って練習していきます。

先生

ぜひ繰り返し練習してください。Javaの理解が深まります。

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Javaの比較演算子とは具体的にどのような役割を持つ記号のことですか?初心者にもわかりやすく教えてください。

Javaの比較演算子とは、2つの値や変数を比較して、その関係が正しいか正しくないかを判定するための記号です。具体的には、2つの数値が「等しい」のか「等しくない」のか、あるいは「どちらか一方が大きい(または小さい)」のかといった条件をチェックする役割を担っています。この比較の結果は、論理型と呼ばれる「true(真)」または「false(偽)」という2つの値のいずれかで返されます。プログラミングにおいて、プログラムの動作を分岐させる条件分岐(if文など)を作る際に、この比較演算子は欠かせない非常に重要な要素となります。
Javaの演算子の一覧へ
新着記事
Python
NumPyのdtypeとは?データ型の意味と仕組みを初心者向けに解説
NumPyのdtypeとは?データ型の意味と仕組みを初心者向けに徹底解説
Dart
Dartのクラスの作り方!定義・インスタンス生成の基礎
Dartのクラスの作り方を完全解説!初心者でも理解できるクラス定義とインスタンス生成の基礎
Java
Javaの同一性と同値性
Javaの同一性と同値性をわかりやすく解説!初心者向けの基礎知識
AWS
【AWS】s3 lsコマンドの使い方まとめ【オプション・ワイルドカード・日付指定】
【AWS】s3 lsコマンドの使い方まとめ【オプション・ワイルドカード・日付指定】
人気記事
Java
Java の Random クラスを使ってランダムな数値を生成する方法
JavaのRandomクラスの使い方を完全ガイド!初心者でもわかる乱数生成
Java
Java の getter メソッドと setter メソッドの使い方
Javaのgetterメソッドとsetterメソッドの使い方を完全ガイド!初心者でもわかるアクセス方法
AWS
【AWS】RDSの料金体系まとめ!ざっくり理解・高いと感じる理由も解説
【AWS】RDSの料金体系まとめ!ざっくり理解・高いと感じる理由も解説
AWS
【AWS】S3の料金体系まとめ!無料枠・課金ポイント・見積もり方法まで
【AWS】S3の料金体系まとめ!無料枠・課金ポイント・見積もり方法まで

🔌 USBポート不足を解消

Type-C 1本で拡張。
開発・作業環境を一気に快適に

UGREEN USB-Cハブを見る

※ Amazon広告リンク