Java の if 文について

Java の if 文について

このページでは、Java の if 文について詳しく解説します。基本的な構文から、条件分岐の応用例まで幅広く取り上げます。

基本構文

Java の if 文は、指定された条件が true の場合にのみコードを実行します。


if (条件) {
    // 条件が true の場合に実行されるコード
}
    

例:


int number = 10;
if (number > 5) {
    System.out.println("number は 5 より大きい");
}
    

if-else 文

if-else 文を使うと、条件が false の場合に別のコードを実行できます。


if (条件) {
    // 条件が true の場合に実行されるコード
} else {
    // 条件が false の場合に実行されるコード
}
    

例:


int number = 3;
if (number > 5) {
    System.out.println("number は 5 より大きい");
} else {
    System.out.println("number は 5 以下");
}
    

ネストされた if 文

if 文の中に別の if 文を入れることができます。これをネストと言います。


if (条件1) {
    if (条件2) {
        // 条件1 と条件2 が両方 true の場合に実行されるコード
    }
}
    

例:


int number = 8;
if (number > 5) {
    if (number < 10) {
        System.out.println("number は 5 より大きく、10 未満");
    }
}
    

else-if 文

複数の条件を評価する場合、else if を使用します。


if (条件1) {
    // 条件1 が true の場合に実行されるコード
} else if (条件2) {
    // 条件1 が false で条件2 が true の場合に実行されるコード
} else {
    // すべての条件が false の場合に実行されるコード
}
    

例:


int number = 15;
if (number < 5) {
    System.out.println("number は 5 未満");
} else if (number < 10) {
    System.out.println("number は 5 以上 10 未満");
} else {
    System.out.println("number は 10 以上");
}
    

複数条件の評価

複数の条件を組み合わせるには、&&(論理積)または ||(論理和)を使用します。


if (条件1 && 条件2) {
    // 両方の条件が true の場合に実行されるコード
}

if (条件1 || 条件2) {
    // いずれかの条件が true の場合に実行されるコード
}
    

例:


int age = 20;
boolean hasLicense = true;

if (age >= 18 && hasLicense) {
    System.out.println("運転できます");
} else {
    System.out.println("運転できません");
}
    

ショートサーキット評価

Java では、&&|| を使用する条件式で、評価を途中で止める「ショートサーキット評価」が行われます。

例:


int x = 5;
if (x > 0 || x / 0 == 1) {
    System.out.println("条件が短絡評価されました");
}
    

この場合、x > 0true なので、x / 0 の評価は行われずエラーになりません。

よくある間違い

Java の if 文でよくある間違いを以下に示します。

  • 条件式の代わりに代入式を使用する:
  • 
    // 間違い:
    if (x = 10) {
        System.out.println("エラーになる");
    }
    
    // 正しい:
    if (x == 10) {
        System.out.println("条件が正しく評価される");
    }
            
  • 中括弧を省略したときの意図しない挙動:
  • 
    // 間違い:
    if (x > 0)
        System.out.println("正の数");
        System.out.println("このコードは常に実行される");
    
    // 正しい:
    if (x > 0) {
        System.out.println("正の数");
    }
            

実践的な例

以下は、実際のプログラムで使用される例です。


// ユーザーの入力値に基づく処理
import java.util.Scanner;

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

        System.out.print("年齢を入力してください: ");
        int age = scanner.nextInt();

        if (age < 18) {
            System.out.println("未成年です");
        } else if (age < 65) {
            System.out.println("成人です");
        } else {
            System.out.println("高齢者です");
        }
    }
}
    

このコードでは、if-else 文を使用して年齢に基づくメッセージを表示します。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です