はじめに
この実験では、Java で 2 つの数値を比較し、一方が他方より大きいかどうかを判断する方法を学びます。比較演算子、特に「より大きい」演算子 (>) の使用方法を探ります。この演算子は、プログラミングにおける条件判断の基本となるものです。
実践的な演習を通じて、ユーザー入力を読み取るコードを実装し、「より大きい」演算子を適用してさまざまな数値型を比較し、数値が等しい場合のケースを処理します。この実験では、Java での条件文と比較演算子の使用に関する実践的な経験を積むことができます。
「より大きい」比較演算子を使用する
このステップでは、Java で比較演算子を使用して 2 つの数値を比較する方法を学びます。具体的には、「より大きい」演算子 (>) に焦点を当てます。比較演算子は、値同士の関係に基づいて判断を下すことができるため、プログラミングにおいて基本的な要素です。
「より大きい」演算子を実演する新しい Java プログラムを作成しましょう。
HelloJava.javaファイルが WebIDE エディタで開いていない場合は、開きます。ファイルの内容全体を次のコードに置き換えます。
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より大きい場合、この行が出力されます。
ファイルを保存します (Ctrl+S または Cmd+S)。
ターミナルで修正したプログラムをコンパイルします。
javac HelloJava.javaコンパイルエラーがなければ、何も出力されません。
コンパイルしたプログラムを実行します。
java HelloJavaプログラムは、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 はしばしば自動型変換(拡大変換)を行って、比較を可能にします。たとえば、int と double を比較する場合、比較の前に int は double に変換されます。
整数と double を比較するようにプログラムを修正しましょう。
WebIDE エディタで
HelloJava.javaファイルを開きます。既存のコードを次のコードに置き換えます。
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()を使用してintをintNumber変数に読み込みます。scanner.nextDouble()を使用してdoubleをdoubleNumber変数に読み込みます。>演算子を使用してintNumberとdoubleNumberを比較します。小数点付きの数値が整数より大きいかどうかをチェックするために、2 番目のif文を追加していることに注意してください。
ファイルを保存します(Ctrl+S または Cmd+S)。
ターミナルでプログラムをコンパイルします。
javac HelloJava.javaプログラムを実行します。
java HelloJavaプロンプトが表示されたら、整数と小数点付きの数値を入力します。
たとえば、整数に
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 番目の数値より大きい、小さい、または等しいかを示すメッセージを出力するように、プログラムを修正しましょう。
WebIDE エディタで
HelloJava.javaファイルを開きます。既存のコードを次のコードに置き換えます。
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): これは前と同じチェックです。number1がnumber2より大きい場合、最初のメッセージが出力されます。else if (number1 < number2): これは新しい部分です。else ifブロックは、前のif条件 (number1 > number2) が false の場合にのみ実行されます。ここでは、「より小さい」演算子 (<) を使用して、number1がnumber2より小さいかどうかをチェックします。else: このブロックは、先行するifまたはelse if条件のどれも true でない場合に実行されます。この場合、number1がnumber2より大きくなく、かつnumber2より小さくない場合、number1はnumber2と等しいはずです。
- テストの柔軟性を高めるために、2 つの
ファイルを保存します(Ctrl+S または Cmd+S)。
ターミナルでプログラムをコンパイルします。
javac HelloJava.javaプログラムを実行します。
java HelloJava2 つの数値を入力します。等しい場合も含めて入力してください。
最初の数値に
7.5を、2 番目の数値に7.5を入力すると、出力は次のようになります。Enter the first number: 7.5 Enter the second number: 7.5 The two numbers are equal.10と5を入力すると、「The first number is greater than the second number.」が表示されます。5と10を入力すると、「The first number is less than the second number.」が表示されます。
これで、if-else if-else 文と等価演算子 (==) を使用して、等しい場合を含むさまざまな比較結果を扱うことに成功しました。
まとめ
この実験では、Java である数値が別の数値より大きいかどうかをチェックする方法を学びました。まず、if 文の中で比較演算子 > を使用して、ユーザーが入力した 2 つの整数値を比較しました。これにより、コード内で比較演算子を使用して判断を行う基本的な概念を実証しました。
次に、異なる数値型を扱う方法を探り、double や float などのさまざまなデータ型に対して比較ロジックが正しく機能するようにしました。最後に、2 つの数値が等しいシナリオに対応し、条件ロジックを拡張して「以上」演算子 (>=) を含めるか、等しいかどうかを個別にチェックするようにしました。



