005 条件分岐(if文) 004 解答例

import java.util.Scanner;

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

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

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

        if (number1 == number2) {
            System.out.println("等しい");
        }

        scanner.close();
    }
}

このプログラムでは、ユーザーから2つの整数を入力し、それらの整数が等しいかどうかを確認して、「等しい」と表示します。

  • Scanner クラスを使用してユーザーから2つの整数を受け取ります。
  • number1number2 という変数にそれぞれの整数を格納します。
  • if 文を使用して、number1number2 が等しいかどうかを確認します。等しい場合、条件が真(true)となり、「等しい」と表示します。

このプログラムを実行すると、ユーザーから入力された2つの整数が等しいかどうかを確認し、等しい場合に「等しい」と表示します。異なる場合には何も表示しません。


2つの整数が等しいかどうかを確認する条件式

2つの整数が等しいかどうかを確認する条件式」は、比較演算子(equality operator)を使用して、2つの整数が同じ値であるかどうかを判定します。Javaでは、等しいかどうかを確認するために ==(等しい)演算子を使用します。以下に詳細な解説を示します:

if (整数A == 整数B) {
    // 2つの整数が等しい場合に実行するコード
}


if 文は、条件式を評価してその結果に応じてコードを実行する制御構造です。
整数A と 整数B は比較対象の2つの整数です。
== 演算子は、左辺と右辺の値が等しいかどうかを比較します。
条件式は、次のように動作します:

  • もし 整数A と 整数B の値が等しい場合、条件が真(true)となり、条件式内のコードブロックが実行されます。
  • もし 整数A と 整数B の値が異なる場合、条件が偽(false)となり、条件式内のコードブロックは実行されません。

例えば、以下のプログラムでは、ユーザーから入力された2つの整数が等しいかどうかを == 演算子を使用して確認しています。等しい場合には “等しい” と表示します。

int number1 = 10;
int number2 = 10;

if (number1 == number2) {
    System.out.println("等しい");
}

このプログラムの場合、number1 と number2 の値が等しいため、条件が真となり、「等しい」と表示されます。

代入演算子(=)と==演算子を間違わないように!!

「代入演算子(=)」と「等しい演算子(==)」を混同しないことは非常に重要です。これらの演算子は異なる役割を持ち、混同するとプログラムの動作に誤りを引き起こす可能性があります。

  1. 代入演算子(=):
    • = は変数に値を代入するために使用されます。
    • 左辺に変数を持ち、右辺に値を持ちます。
    • 例: int x = 5; は、変数 x に値 5 を代入する操作です。
  2. 等しい演算子(==):
    • == は2つの値が等しいかどうかを比較するために使用されます。
    • 左辺と右辺に比較対象の値や式があります。
    • 例: if (x == 5) は、変数 x の値が 5 と等しいかどうかを確認します。

混同すると、例えば次のような問題が発生する可能性があります:

int x = 5;   // xに5を代入
if (x = 10) {
    // 代入演算子を誤って使用したため、常に真(true)となります
    System.out.println("xは10です。");
}

上記の例では、代入演算子 =if 文内で誤って使用しているため、x10 が代入され、条件が常に真(true)となります。正しい比較演算子 == を使用すべきです。

正しいコードは次のとおりです:

int x = 5;
if (x == 10) {
    // 正しい比較演算子(==)を使用
    System.out.println("xは10です。");
}

このように、代入演算子と等しい演算子を正確に区別し、適切に使用することがプログラムの正確性を保つ上で非常に重要です。

「005条件分岐」問題集リスト