カテゴリ: Java 更新日: 2025/12/16

Javaのif文を完全マスター!初心者でもわかる分岐処理の使い方

分岐(if文)
分岐(if文)

先生と生徒の会話形式で理解しよう

生徒

「Javaで条件によって動作を変える方法ってあるんですか?」

先生

「良い質問ですね!Javaでは、条件に応じてプログラムの流れを制御するために、if文を使います。これを使えば、指定した条件が満たされているかどうかで、実行する内容を変えることができるんです。」

生徒

「具体的にどんな感じで使うんですか?」

先生

「それでは、if文の基本的な使い方から見ていきましょう!」

1. Javaのif文とは?

1. Javaのif文とは?
1. Javaのif文とは?

Javaのif文は、プログラム内で条件に応じて処理を分岐させるためのものです。例えば、ある条件が「真(true)」であれば特定の処理を実行し、そうでなければスキップする、といった操作が可能になります。分岐処理を理解することで、プログラムの流れを制御できるようになり、より複雑なアプリケーションを作ることができるようになります。

2. 基本的なif文の使い方

2. 基本的なif文の使い方
2. 基本的なif文の使い方

まずは、シンプルなif文の書き方から見てみましょう。以下のように書くことで、条件が「真(true)」である場合に特定の処理が実行されます。


public class IfExample {
    public static void main(String[] args) {
        int number = 10;
        
        if (number > 5) {
            System.out.println("変数 number は 5 より大きいです。");
        }
    }
}

このコードでは、変数numberの値が5より大きいかどうかをチェックしています。number5より大きい場合、「変数 number は 5 より大きいです。」と表示されます。

3. else文で条件が「偽」の場合の処理を追加

3. else文で条件が「偽」の場合の処理を追加
3. else文で条件が「偽」の場合の処理を追加

if文だけでは、条件が「偽(false)」の場合には何も実行されませんが、elseを使うことで、条件が満たされなかったときの処理を指定することができます。


public class IfElseExample {
    public static void main(String[] args) {
        int number = 3;
        
        if (number > 5) {
            System.out.println("変数 number は 5 より大きいです。");
        } else {
            System.out.println("変数 number は 5 以下です。");
        }
    }
}

上記のコードでは、number5以下の場合、「変数 number は 5 以下です。」と表示されるようになっています。これにより、条件分岐の幅が広がります。

4. if-else if-else文で複数の条件を設定する

4. if-else if-else文で複数の条件を設定する
4. if-else if-else文で複数の条件を設定する

さらに複雑な条件を扱いたい場合は、else ifを使うことで、複数の条件を順番にチェックすることができます。


public class IfElseIfExample {
    public static void main(String[] args) {
        int number = 7;
        
        if (number > 10) {
            System.out.println("変数 number は 10 より大きいです。");
        } else if (number > 5) {
            System.out.println("変数 number は 5 より大きく、10 以下です。");
        } else {
            System.out.println("変数 number は 5 以下です。");
        }
    }
}

この例では、まずnumber10より大きいかをチェックし、そうでなければ5より大きいかをチェックし、どちらの条件も満たさない場合は「5 以下」と表示します。こうすることで、複数の条件を順番に評価することができます。

5. 条件式の基本:比較演算子・論理演算子と短絡評価

5. 条件式の基本:比較演算子・論理演算子と短絡評価
5. 条件式の基本:比較演算子・論理演算子と短絡評価

if文では、比較演算子>>=<<===!=)と論理演算子&&||!)を組み合わせて条件を作ります。短絡評価により、左側の結果で右側の評価が省略される点も重要です。

public class OperatorsBasics {
    public static void main(String[] args) {
        int score = 75;
        boolean hasSubmitted = true;

        // 比較演算子
        if (score >= 80) {
            System.out.println("合格(優)");
        }

        // 論理演算子(短絡評価)
        if (hasSubmitted && score >= 60) {
            System.out.println("提出済み && 合格ライン到達");
        }

        // 否定
        if (!hasSubmitted || score < 0) {
            System.out.println("未提出 または 不正な点数");
        }
    }
}
短絡評価:false && 右側は右側を評価しません。true || 右側も同様に右側が評価されません。

6. ネストしたifとガード節(早期リターン)で読みやすくする

6. ネストしたifとガード節(早期リターン)で読みやすくする
6. ネストしたifとガード節(早期リターン)で読みやすくする

条件が多いとネスト(入れ子)が深くなりがちです。ガード節で早めに抜けると、if文が見通しよくなります。

// ネストが深い例
public static String grade(Integer score) {
    if (score != null) {
        if (score >= 0 && score <= 100) {
            if (score >= 80) return "A";
            else if (score >= 65) return "B";
            else if (score >= 50) return "C";
            else return "D";
        } else {
            return "範囲外";
        }
    } else {
        return "未入力";
    }
}

// ガード節で整理
public static String gradeBetter(Integer score) {
    if (score == null) return "未入力";                    // 早期リターン
    if (score < 0 || score > 100) return "範囲外";        // 早期リターン
    if (score >= 80) return "A";
    if (score >= 65) return "B";
    if (score >= 50) return "C";
    return "D";
}

まとめ

まとめ
まとめ

本記事では、Javaのif文を使った条件分岐処理について初心者向けに解説しました。if文を使うことで、プログラムの実行内容を条件に応じて切り替えることが可能になります。特に、基本的なif文、条件が偽の場合のelse文、複数の条件を評価するelse if文を使用した例を紹介しました。これらの技術を活用すれば、複雑な条件でも効率的に処理を分岐させることができます。 また、各コード例では、シンプルな構造で書かれているため、初心者でもすぐに実行可能です。自分の手でコードを実行しながら理解を深めることが重要です。


public class IfRecap {
    public static void main(String[] args) {
        int score = 75;
        
        if (score >= 90) {
            System.out.println("評価: 優");
        } else if (score >= 60) {
            System.out.println("評価: 良");
        } else {
            System.out.println("評価: 不合格");
        }
    }
}
    

上記のコードは、スコアに応じて評価を分岐する例です。このような条件分岐は実際のアプリケーションでもよく使われます。ぜひ試してみてください。

先生と生徒の振り返り会話

生徒

「先生、if文を使うと条件によって処理を分けられることがわかりました!」

先生

「そうですね。条件分岐は、プログラムの中で非常に重要な部分です。特に、if文やelse文を適切に使うことで、柔軟なプログラムを作ることができますよ。」

生徒

else if文を使うと、複数の条件を評価できるので便利ですね。」

先生

「その通りです。複数の条件を扱う場合は、どの条件を優先するかを考えることが大切です。これにより、バグの少ないプログラムを作ることができます。」

生徒

「これからいろいろな条件分岐を使って、実践的なプログラムを作ってみたいです!」

先生

「ぜひチャレンジしてください。次回は条件分岐を使ったゲームのロジックを作成してみましょう。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Javaのif文とは何ですか?

Javaのif文は、プログラム内で条件に応じて処理を分岐させるための構文です。特定の条件が真(true)の場合にのみ指定した処理を実行します。

if文を使うメリットは何ですか?

if文を使うことで、プログラムの実行内容を動的に変更できます。これにより、柔軟なアプリケーションを作成することが可能になります。

else文は何のために使うのですか?

else文は、if文の条件が偽(false)の場合に実行される処理を記述するために使います。これにより、条件が満たされなかった場合の動作を指定できます。

else if文はどのような場合に使いますか?

else if文は、複数の条件を順番に評価したい場合に使用します。最初の条件が偽の場合、次の条件を評価し、どの条件も満たさない場合にelse文を使用します。

if文で使う条件式にはどのようなものがありますか?

条件式には、比較演算子(例: >, <, ==, !=)や論理演算子(例: &&, ||)を使って記述できます。たとえば、"number > 5"は、numberが5より大きい場合に真となります。

複数の条件をチェックする方法はありますか?

はい、複数の条件をチェックするには、論理演算子(&&や||)を使うか、else if文を連続して記述することで実現できます。

if文の中で変数を変更することは可能ですか?

可能です。if文の中で変数に値を代入したり、計算結果を保存することができます。

if文のネスト(入れ子構造)とは何ですか?

if文のネストとは、if文の中にさらにif文を記述する構造のことです。これを使うことで、複雑な条件分岐を実現できます。

Javaのif文でエラーが発生する原因は何ですか?

if文でエラーが発生する主な原因は、条件式の記述ミスや、括弧の使い方が間違っていることです。また、条件式に適切な型のデータが渡されていない場合もエラーになります。

初心者にとってif文の練習でおすすめの課題は何ですか?

初心者には、数値の大小を判定するプログラムや、複数の条件を評価して異なるメッセージを出力するプログラムがおすすめです。たとえば、「得点による評価を表示する」課題が良い練習になります。
カテゴリの一覧へ
新着記事
JavaのHttpServletResponseWrapperを完全解説!初心者でも理解できるレスポンス処理のしくみ
JavaのScannerクラスの使い方を徹底解説!初心者でも簡単に学べる入力処理
JavaのArrayListクラスとaddメソッドを完全解説!初心者でもわかるリスト操作
Javaの@Idアノテーションを徹底解説!初心者でもわかるデータベースとの連携方法
人気記事
No.1
Java&Spring記事人気No1
Spring BootとJavaの互換性一覧!3.5/3.4/3.3はJava 21・17に対応してる?
No.2
Java&Spring記事人気No2
Javaのラムダ式で配列を扱う!Arrays.streamの基本と注意点を初心者向けに解説
No.3
Java&Spring記事人気No3
JavaのRuntimeExceptionを完全解説!初心者でもわかるjava.langパッケージの基礎
No.4
Java&Spring記事人気No4
JavaのBigDecimalクラスcompareToメソッド完全ガイド!初心者でもわかる大小比較の基本
No.5
Java&Spring記事人気No5
JavaのIntegerクラスの使い方を完全ガイド!初心者でもわかる整数操作
No.6
Java&Spring記事人気No6
Springの@Serviceアノテーションの使い方を徹底解説!初心者でもわかるSpring フレームワーク入門
No.7
Java&Spring記事人気No7
Javaの@SuppressWarningsアノテーションの使い方を完全ガイド!初心者でもわかる警告の抑制方法
No.8
Java&Spring記事人気No8
JSPの基本タグ一覧と使い方まとめ!実務で使えるタグを紹介