カテゴリ: Javaの演算子 更新日: 2025/03/29

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の演算子の一覧へ
新着記事
FlutterのMVP・MVVMアーキテクチャの違いと使い分け
FlutterのMVP・MVVMアーキテクチャの違いと使い分けを初心者向けに解説!
オニオンアーキテクチャの基本とFlutterでの適用例
オニオンアーキテクチャの基本とFlutterでの適用例を初心者向けに解説
クリーンアーキテクチャとは?Flutterでの導入メリット
クリーンアーキテクチャとは?Flutterでの導入メリットをやさしく解説
【AWS】RDS for Oracleの特徴・できないこと・バージョン・料金まとめ
【AWS】RDS for Oracleの特徴・できないこと・バージョン・料金を初心者向けに徹底解説
人気記事
インスタンスタイプの料金比較と最適な選び方(最新2025年版)
AWSのインスタンスタイプの料金比較と最適な選び方【2025年最新版】
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説

🔌 USBポート不足を解消

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

UGREEN USB-Cハブを見る

※ Amazon広告リンク