カテゴリ: Javaの制御構造 更新日: 2025/04/03

Java の if-else 文を使って条件分岐を詳しく学ぼう

076
Java の if-else 文を使って条件分岐を詳しく学ぼう

新人と先輩の会話形式で理解しよう

新人

「Java で条件によって違う動作をさせる方法はありますか?」

先輩

「あるよ!if-else 文 を使うと、条件によって異なる処理を実行できるんだ。」

新人

「if 文とどう違うんですか?」

先輩

「if 文は条件を満たしたときだけ処理を実行するけど、if-else 文を使うと、条件を満たさない場合の処理も書けるんだよ。詳しく説明しよう!」

1. if-else 文とは?(基本的な説明)

1. if-else 文とは?(基本的な説明)
1. if-else 文とは?(基本的な説明)

Java の if-else 文 は、条件に応じて処理を分けるための制御文です。例えば、点数が 80 点以上なら「合格」と表示し、それ以外なら「不合格」と表示する場合に使います。

if-else 文の特徴

  • 条件が true(真) なら、if ブロック内の処理を実行する
  • 条件が false(偽) なら、else ブロック内の処理を実行する
  • プログラムの流れを分岐させることができる

例えば、「もしお店が開いていたら入る、開いていなかったら帰る」という状況をプログラムで表現できます。

2. if-else 文の基本的な書き方

2. if-else 文の基本的な書き方
2. if-else 文の基本的な書き方

if-else 文を使って、条件によって異なる処理を実行する基本的な書き方を見てみましょう。

if-else 文の基本構文


public class IfElseExample {
    public static void main(String[] args) {
        int score = 70;

        if (score >= 80) { // もし score が 80 以上なら
            System.out.println("合格です!");
        } else { // それ以外なら
            System.out.println("不合格です。");
        }
    }
}

不合格です。

このプログラムでは、変数 score の値が 80 以上なら「合格です!」と表示されますが、それ以外なら「不合格です。」と表示されます。

if-else 文のポイント

  • if の後に条件を書く(例: if (score >= 80)
  • else の後には条件を書かない(else は if の条件が false の場合に実行される)
  • { }(ブロック)内に、それぞれの処理を書く

例えば、score の値が 90 なら「合格です!」と表示されますが、60 なら「不合格です。」と表示されます。

3. if-else 文で数値の条件を判定する(例:点数による評価)

3. if-else 文で数値の条件を判定する(例:点数による評価)
3. if-else 文で数値の条件を判定する(例:点数による評価)

if-else 文は、数値を使った条件分岐にもよく使われます。例えば、テストの点数に応じて「合格」か「不合格」を判定するプログラムを作成してみましょう。

数値の条件を判定する if-else 文の例


public class ScoreCheck {
    public static void main(String[] args) {
        int score = 75;

        if (score >= 80) { // 80点以上なら
            System.out.println("合格です!");
        } else { // それ以外なら
            System.out.println("不合格です。");
        }
    }
}

不合格です。

このプログラムでは、score の値が 80 以上なら「合格です!」と表示され、それ未満なら「不合格です。」と表示されます。

応用例:年齢による判定

年齢によって成人か未成年かを判定するプログラムも作成できます。


public class AgeCheck {
    public static void main(String[] args) {
        int age = 17;

        if (age >= 18) { // 18歳以上なら
            System.out.println("あなたは成人です。");
        } else {
            System.out.println("あなたは未成年です。");
        }
    }
}

あなたは未成年です。

Javaをこれから始める人や、 オブジェクト指向の考え方を基礎から理解したい人には、 定番の入門書がこちらです。

スッキリわかるJava入門 第4版をAmazonで見る

※ Amazon広告リンク

4. if-else 文で文字列の条件を判定する(例:"yes" なら実行)

4. if-else 文で文字列の条件を判定する(例:"yes" なら実行)
4. if-else 文で文字列の条件を判定する(例:"yes" なら実行)

if-else 文は、文字列の条件を判定することもできます。例えば、特定のキーワードが一致する場合に処理を実行するプログラムを作成してみましょう。

文字列の条件を判定する if-else 文の例


public class StringCheck {
    public static void main(String[] args) {
        String input = "yes";

        if (input.equals("yes")) { // 文字列が "yes" なら
            System.out.println("処理を実行します。");
        } else {
            System.out.println("処理を中止します。");
        }
    }
}

処理を実行します。

文字列の比較で注意するポイント

  • 文字列の比較には == ではなく equals() メソッドを使う
  • input.equals("yes") のように書くことで、正しく比較できる

5. if-else 文の中で比較演算子(==, >, <, >=, <=)を使う方法

5. if-else 文の中で比較演算子(==, >, <, >=, <=)を使う方法
5. if-else 文の中で比較演算子(==, >, <, >=, <=)を使う方法

if-else 文では、比較演算子を使って条件を作ることができます。比較演算子には以下の種類があります。

主な比較演算子

  • == … 左右の値が等しい場合に true
  • != … 左右の値が異なる場合に true
  • > … 左の値が右の値より大きい場合に true
  • < … 左の値が右の値より小さい場合に true
  • >= … 左の値が右の値以上の場合に true
  • <= … 左の値が右の値以下の場合に true

比較演算子を使った if-else 文の例


public class ComparisonExample {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;

        if (a < b) { // a が b より小さいなら
            System.out.println("a は b より小さいです。");
        } else {
            System.out.println("a は b 以上です。");
        }
    }
}

a は b より小さいです。

応用例:偶数か奇数かを判定する

入力された数値が偶数か奇数かを判定するプログラムを作成してみましょう。


public class EvenOddCheck {
    public static void main(String[] args) {
        int number = 10; // ここで数値を指定

        if (number % 2 == 0) { // 2 で割った余りが 0 なら偶数
            System.out.println("偶数です。");
        } else {
            System.out.println("奇数です。");
        }
    }
}

偶数です。

このように、比較演算子を使うことでさまざまな条件を判定し、プログラムの動作を変更できます。

6. if-else 文で論理演算子(&&, ||)を使う方法(複数の条件をチェック)

6. if-else 文で論理演算子(&&, ||)を使う方法(複数の条件をチェック)
6. if-else 文で論理演算子(&&, ||)を使う方法(複数の条件をチェック)

if-else 文では、複数の条件を組み合わせてチェックすることができます。これを実現するために論理演算子を使用します。

論理演算子の種類

  • &&(AND条件) … 両方の条件が true の場合のみ処理を実行
  • ||(OR条件) … どちらかの条件が true なら処理を実行

&&(AND条件)の使用例

テストの点数が 80 以上で、かつ出席率が 90% 以上なら「合格」と表示するプログラムを作ってみましょう。


public class AndOperatorExample {
    public static void main(String[] args) {
        int score = 85;
        int attendance = 95;

        if (score >= 80 && attendance >= 90) {
            System.out.println("合格です!");
        } else {
            System.out.println("条件を満たしていません。");
        }
    }
}

合格です!

||(OR条件)の使用例

テストの点数が 80 以上、または特別加点が 10 点以上なら「合格」と表示するプログラムを作成してみましょう。


public class OrOperatorExample {
    public static void main(String[] args) {
        int score = 70;
        int extraCredit = 15;

        if (score >= 80 || extraCredit >= 10) {
            System.out.println("合格です!");
        } else {
            System.out.println("条件を満たしていません。");
        }
    }
}

合格です!

7. if-else 文を使った応用例(ユーザーの入力による判定)

7. if-else 文を使った応用例(ユーザーの入力による判定)
7. if-else 文を使った応用例(ユーザーの入力による判定)

if-else 文は、ユーザーの入力によって処理を分岐させる際にもよく使われます。例えば、パスワードの入力が正しいかどうかを判定するプログラムを作成してみましょう。

パスワード判定のプログラム


public class PasswordCheck {
    public static void main(String[] args) {
        String correctPassword = "java123";
        String inputPassword = "java123"; // ユーザーが入力したパスワード

        if (inputPassword.equals(correctPassword)) {
            System.out.println("ログイン成功!");
        } else {
            System.out.println("パスワードが違います。");
        }
    }
}

ログイン成功!

アクセス制限の判定

ユーザーの権限レベルに応じて異なるメッセージを表示するプログラムを作成してみましょう。


public class AccessControl {
    public static void main(String[] args) {
        String userRole = "admin"; // ユーザーの役割

        if (userRole.equals("admin")) {
            System.out.println("管理者権限でアクセス可能です。");
        } else {
            System.out.println("一般ユーザーとしてアクセス中です。");
        }
    }
}

管理者権限でアクセス可能です。

8. 練習問題:if-else 文を使ったプログラムを作ろう

8. 練習問題:if-else 文を使ったプログラムを作ろう
8. 練習問題:if-else 文を使ったプログラムを作ろう

if-else 文を使った練習問題を解いて、理解を深めましょう。

問題1: 学生の成績判定

テストの点数に応じて、以下のように評価を出すプログラムを作成してください。

  • 80 点以上なら「優秀です!」
  • 60 点以上なら「合格です。」
  • それ以外なら「不合格です。」

解答例


public class GradeCheck {
    public static void main(String[] args) {
        int score = 75;

        if (score >= 80) {
            System.out.println("優秀です!");
        } else if (score >= 60) {
            System.out.println("合格です。");
        } else {
            System.out.println("不合格です。");
        }
    }
}

合格です。

問題2: お店の営業時間判定

現在の時刻(24 時間表記)に応じて、以下のメッセージを表示するプログラムを作成してください。

  • 10 時から 20 時の間なら「お店は営業中です。」
  • それ以外なら「お店は閉店しています。」

解答例


public class ShopHours {
    public static void main(String[] args) {
        int currentTime = 15; // 現在の時刻(例:15時)

        if (currentTime >= 10 && currentTime <= 20) {
            System.out.println("お店は営業中です。");
        } else {
            System.out.println("お店は閉店しています。");
        }
    }
}

お店は営業中です。
Javaの制御構造の一覧へ
新着記事
FlutterのMVP・MVVMアーキテクチャの違いと使い分け
FlutterのMVP・MVVMアーキテクチャの違いと使い分けを初心者向けに解説!
オニオンアーキテクチャの基本とFlutterでの適用例
オニオンアーキテクチャの基本とFlutterでの適用例を初心者向けに解説
クリーンアーキテクチャとは?Flutterでの導入メリット
クリーンアーキテクチャとは?Flutterでの導入メリットをやさしく解説
【AWS】RDS for Oracleの特徴・できないこと・バージョン・料金まとめ
【AWS】RDS for Oracleの特徴・できないこと・バージョン・料金を初心者向けに徹底解説
人気記事
インスタンスタイプの料金比較と最適な選び方(最新2025年版)
AWSのインスタンスタイプの料金比較と最適な選び方【2025年最新版】
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説

🔌 USBポート不足を解消

Type-C 1本で拡張。
開発・作業環境を一気に快適に

UGREEN USB-Cハブを見る

※ Amazon広告リンク