等しい数値の扱い
前のステップでは、「より大きい」演算子 (>
) を使用して、ある数値が別の数値より大きいかどうかをチェックしました。しかし、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
と等しいはずです。
-
ファイルを保存します(Ctrl+S または Cmd+S)。
-
ターミナルでプログラムをコンパイルします。
javac HelloJava.java
-
プログラムを実行します。
java HelloJava
-
2 つの数値を入力します。等しい場合も含めて入力してください。
最初の数値に 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
文と等価演算子 (==
) を使用して、等しい場合を含むさまざまな比較結果を扱うことに成功しました。