Java である数値が別の数値より大きいかどうかをチェックする方法

JavaJavaBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、Java で 2 つの数値を比較し、一方が他方より大きいかどうかを判断する方法を学びます。比較演算子、特に「より大きい」演算子 (>) の使用方法を探ります。この演算子は、プログラミングにおける条件判断の基本となるものです。

実践的な演習を通じて、ユーザー入力を読み取るコードを実装し、「より大きい」演算子を適用してさまざまな数値型を比較し、数値が等しい場合のケースを処理します。この実験では、Java での条件文と比較演算子の使用に関する実践的な経験を積むことができます。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java/BasicSyntaxGroup -.-> java/data_types("Data Types") java/BasicSyntaxGroup -.-> java/operators("Operators") java/BasicSyntaxGroup -.-> java/if_else("If...Else") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/user_input("User Input") subgraph Lab Skills java/data_types -.-> lab-559963{{"Java である数値が別の数値より大きいかどうかをチェックする方法"}} java/operators -.-> lab-559963{{"Java である数値が別の数値より大きいかどうかをチェックする方法"}} java/if_else -.-> lab-559963{{"Java である数値が別の数値より大きいかどうかをチェックする方法"}} java/user_input -.-> lab-559963{{"Java である数値が別の数値より大きいかどうかをチェックする方法"}} end

「より大きい」比較演算子の使用

このステップでは、Java で比較演算子を使用して 2 つの数値を比較する方法を学びます。具体的には、「より大きい」演算子 (>) に焦点を当てます。比較演算子は、値同士の関係に基づいて判断を下すことができるため、プログラミングにおいて基本的な要素です。

「より大きい」演算子を実演する新しい Java プログラムを作成しましょう。

  1. HelloJava.java ファイルが WebIDE エディタで開いていない場合は、開きます。

  2. ファイルの内容全体を次のコードに置き換えます。

    import java.util.Scanner;
    
    public class HelloJava {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
    
            System.out.print("Enter the first number: ");
            int number1 = scanner.nextInt();
    
            System.out.print("Enter the second number: ");
            int number2 = scanner.nextInt();
    
            if (number1 > number2) {
                System.out.println("The first number is greater than the second number.");
            }
    
            scanner.close();
        }
    }

    このコードの新しい部分を見てみましょう。

    • import java.util.Scanner;: ユーザーからの入力を取得するために、依然として Scanner が必要です。
    • System.out.print("Enter the first number: ");: ユーザーに最初の数値の入力を促します。
    • int number1 = scanner.nextInt();: ユーザーが入力した最初の整数を読み取り、変数 number1 に格納します。
    • System.out.print("Enter the second number: ");: ユーザーに 2 番目の数値の入力を促します。
    • int number2 = scanner.nextInt();: ユーザーが入力した 2 番目の整数を読み取り、変数 number2 に格納します。
    • if (number1 > number2): ここで「より大きい」演算子 (>) を使用しています。この行では、number1 の値が number2 の値より大きいかどうかをチェックします。波括弧 {} 内のコードは、この条件が true の場合にのみ実行されます。
    • System.out.println("The first number is greater than the second number.");: number1 が実際に number2 より大きい場合、この行が出力されます。
  3. ファイルを保存します (Ctrl+S または Cmd+S)。

  4. ターミナルで修正したプログラムをコンパイルします。

    javac HelloJava.java

    コンパイルエラーがなければ、何も出力されません。

  5. コンパイルしたプログラムを実行します。

    java HelloJava
  6. プログラムは、2 つの数値の入力を求めます。最初のプロンプトで数値を入力し、Enter キーを押し、次に 2 番目の数値を入力して、再度 Enter キーを押します。

    たとえば、最初の数値に 10 を入力し、2 番目の数値に 5 を入力すると、出力は次のようになります。

    Enter the first number: 10
    Enter the second number: 5
    The first number is greater than the second number.

    最初の数値に 5 を入力し、2 番目の数値に 10 を入力すると、2 番目の数値を入力した後には何も出力されません。なぜなら、条件 number1 > number2 が false だからです。

あなたは、「より大きい」比較演算子を使用して 2 つの数値を比較し、その結果に基づいてコードを実行することに成功しました。

異なる数値型でのテスト

前のステップでは、2 つの整数を比較しました。Java には、整数や小数点付きの数値(浮動小数点数)など、さまざまな種類の数値を扱うための異なる数値型があります。このステップでは、比較演算子が異なる数値型でどのように機能するかを探ります。

Java にはいくつかのプリミティブな数値型があり、以下のようなものが含まれます。

  • int: 整数用
  • double: 浮動小数点数(小数点付きの数値)用
  • float: こちらも浮動小数点数用ですが、一般的に double よりも精度が低い
  • long: 非常に大きな整数用

> のような比較演算子は、異なる数値型の値を比較するために使用できます。Java はしばしば自動型変換(拡大変換)を行って、比較を可能にします。たとえば、intdouble を比較する場合、比較の前に intdouble に変換されます。

整数と double を比較するようにプログラムを修正しましょう。

  1. WebIDE エディタで HelloJava.java ファイルを開きます。

  2. 既存のコードを次のコードに置き換えます。

    import java.util.Scanner;
    
    public class HelloJava {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
    
            System.out.print("Enter an integer: ");
            int intNumber = scanner.nextInt();
    
            System.out.print("Enter a decimal number: ");
            double doubleNumber = scanner.nextDouble();
    
            if (intNumber > doubleNumber) {
                System.out.println("The integer is greater than the decimal number.");
            }
    
            if (doubleNumber > intNumber) {
                System.out.println("The decimal number is greater than the integer.");
            }
    
            scanner.close();
        }
    }

    この更新されたコードでは、以下のことを行っています。

    • scanner.nextInt() を使用して intintNumber 変数に読み込みます。
    • scanner.nextDouble() を使用して doubledoubleNumber 変数に読み込みます。
    • > 演算子を使用して intNumberdoubleNumber を比較します。小数点付きの数値が整数より大きいかどうかをチェックするために、2 番目の if 文を追加していることに注意してください。
  3. ファイルを保存します(Ctrl+S または Cmd+S)。

  4. ターミナルでプログラムをコンパイルします。

    javac HelloJava.java
  5. プログラムを実行します。

    java HelloJava
  6. プロンプトが表示されたら、整数と小数点付きの数値を入力します。

    たとえば、整数に 10 を、小数点付きの数値に 9.5 を入力すると、出力は次のようになります。

    Enter an integer: 10
    Enter a decimal number: 9.5
    The integer is greater than the decimal number.

    整数に 5 を、小数点付きの数値に 5.1 を入力すると、出力は次のようになります。

    Enter an integer: 5
    Enter a decimal number: 5.1
    The decimal number is greater than the integer.

これは、Java が「より大きい」演算子を使用して異なる数値型を比較できることを示しています。

等しい数値の扱い

前のステップでは、「より大きい」演算子 (>) を使用して、ある数値が別の数値より大きいかどうかをチェックしました。しかし、2 つの数値が等しい場合、どうなるでしょうか?現在のプログラムでは、このケースを明示的に扱っていません。

このステップでは、等価演算子 (==) を使用して等しいかどうかをチェックする方法と、if-else if-else 文を使用して、数値が等しい場合を含む複数の可能性を扱う方法を学びます。

Java の等価演算子 (==) は、2 つの値が等しいかどうかをチェックするために使用されます。値が同じであれば true を返し、そうでなければ false を返します。

2 つの数値を比較し、最初の数値が 2 番目の数値より大きい、小さい、または等しいかを示すメッセージを出力するように、プログラムを修正しましょう。

  1. WebIDE エディタで HelloJava.java ファイルを開きます。

  2. 既存のコードを次のコードに置き換えます。

    import java.util.Scanner;
    
    public class HelloJava {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
    
            System.out.print("Enter the first number: ");
            double number1 = scanner.nextDouble();
    
            System.out.print("Enter the second number: ");
            double number2 = scanner.nextDouble();
    
            if (number1 > number2) {
                System.out.println("The first number is greater than the second number.");
            } else if (number1 < number2) {
                System.out.println("The first number is less than the second number.");
            } else {
                System.out.println("The two numbers are equal.");
            }
    
            scanner.close();
        }
    }

    変更点を見てみましょう。

    • テストの柔軟性を高めるために、2 つの double 型の値を読み取るようになりました。
    • if (number1 > number2): これは前と同じチェックです。number1number2 より大きい場合、最初のメッセージが出力されます。
    • else if (number1 < number2): これは新しい部分です。else if ブロックは、前の if 条件 (number1 > number2) が false の場合にのみ実行されます。ここでは、「より小さい」演算子 (<) を使用して、number1number2 より小さいかどうかをチェックします。
    • else: このブロックは、先行する if または else if 条件のどれも true でない場合に実行されます。この場合、number1number2 より大きくなく、かつ number2 より小さくない場合、number1number2 と等しいはずです。
  3. ファイルを保存します(Ctrl+S または Cmd+S)。

  4. ターミナルでプログラムをコンパイルします。

    javac HelloJava.java
  5. プログラムを実行します。

    java HelloJava
  6. 2 つの数値を入力します。等しい場合も含めて入力してください。

    最初の数値に 7.5 を、2 番目の数値に 7.5 を入力すると、出力は次のようになります。

    Enter the first number: 7.5
    Enter the second number: 7.5
    The two numbers are equal.

    105 を入力すると、「The first number is greater than the second number.」が表示されます。510 を入力すると、「The first number is less than the second number.」が表示されます。

これで、if-else if-else 文と等価演算子 (==) を使用して、等しい場合を含むさまざまな比較結果を扱うことに成功しました。

まとめ

この実験では、Java である数値が別の数値より大きいかどうかをチェックする方法を学びました。まず、if 文の中で比較演算子 > を使用して、ユーザーが入力した 2 つの整数値を比較しました。これにより、コード内で比較演算子を使用して判断を行う基本的な概念を実証しました。

次に、異なる数値型を扱う方法を探り、doublefloat などのさまざまなデータ型に対して比較ロジックが正しく機能するようにしました。最後に、2 つの数値が等しいシナリオに対応し、条件ロジックを拡張して「以上」演算子 (>=) を含めるか、等しいかどうかを個別にチェックするようにしました。