0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Java入門】条件分岐と繰り返し

0
Last updated at Posted at 2026-05-26

はじめに

こんにちは。
「スッキリわかるJava入門」を使って基礎を振り返るシリーズの第3回です。この記事を書くことで、私自身の理解を深めることが目的です。

今回は第3章「条件分岐と繰り返し」について学び直しました。
第1,2回はAIを活用してアウトプットしましたが、学びを深めるにあたって自分で本文を考えることが大切だと感じました。そのため、基礎を振り返る記事ではAIの活用を最小限にとどめようと思っています。
この記事が、同じく基礎を学び直したい人にとっても参考になりましたら幸いです。

参考書籍について

コードの実行について

この記事では環境構築などは省略し、ブラウザ上で動作するdokojavaを利用することをおすすめします。
実行にはユーザー登録が必要です。

目次

  1. 結論
  2. 学び
  3. 自分なりの解釈
  4. この章のポイント
  5. まとめ

1. 結論

  • 文の実行順序を制御する。その制御構造として「順次、分岐、繰り返し」があります。
  • 分岐には3種類のif文とswitch文があります。
  • 繰り返しにはfor文とwhile文が2種類ずつあります。
制御構造 種類 説明
順次 上から順番に実行 プログラムを上から下へ実行
分岐 if文(単純if) 条件が真の場合だけ処理を実行
if-else文 条件が真か偽かで処理を分ける
if-else if-else文 複数の条件を順番にチェック
switch文 式の値に応じて処理を分ける
繰り返し for文 初期値・条件・増減式を明示的に指定
拡張for文 配列やコレクションの全要素をループ
while文 条件が真の間、繰り返し実行
do-while文 最低1回実行した後、条件をチェック

2. 学び

構造化定理
「どんなに複雑なプログラムも、『順次』『分岐』『繰り返し』の3つのパーツ(制御構造)だけで作ることができる」という定理です。

// コード例
public class Main {
    public static void main(String[] args) {
        int number = 100;

        // 1. 順次
        System.out.println("--- 順次 ---");
        System.out.println("順次");

        // 2. 分岐 if文
        System.out.println("--- 分岐:if文 ---");
        if (number == 100) {
            System.out.println("分岐 if文");
        }

        // 3. 分岐 if-else文
        System.out.println("--- 分岐:if-else文 ---");
        if (number == 80) {
            System.out.println("ここには入りません。");
        } else {
            System.out.println("分岐 if-else文");
        }

        // 4. 分岐 if-else if-else文
        System.out.println("--- 分岐:if-else if-else文 ---");
        if (number == 70) {
            System.out.println("ここには入りません。");
        } else if (number == 200) {
            System.out.println("ここにも入りません。");
        } else {
            System.out.println("分岐 if-else if-else文");
        }

        // 5. 分岐 switch文
        System.out.println("--- 分岐:switch文 ---");
        switch (number) {
            case 50:
                System.out.println("がんばりましょう");
                break;
            case 70:
                System.out.println("まずまずです");
                break;
            case 100:
                System.out.println("大変よくできました");
                break;
            default:
                System.out.println("想定外の数値です");
                break;
        }

        // 6. for文
        System.out.println("--- for文 ---");
        for (int i = 1; i <= 3; i++) {
            System.out.println(i + "回目のループです");
        }
        
        // 7. 拡張for文
        System.out.println("--- 拡張for文 ---");
        int[] scores = {80, 90, 75};
        for (int score : scores) {
            System.out.println("点数: " + score);
        }

        // 8. while文
        System.out.println("--- while文 ---");
        int count = 1;
        while (count <= 3) {
            System.out.println("whileカウント: " + count);
            count++;
        }

        // 9. do-while文
        System.out.println("--- do-while文 ---");
        int num = 5;
        do {
            System.out.println("do-while内の処理(値: " + num + ")");
            num++;
        } while (num <  3);
    }
}

3. 自分なりの解釈

  • この機能が何のためにあるのか
    • 処理の流れを制御するため
  • どんな時に使うのか
    • 条件によって処理を変えたい時
      • 例:ユーザーの年齢で料金を変える、ゲームのスコアで判定を分ける、など

4. この章のポイント

  • 短絡評価
    • 最初の条件だけで評価が決まる場合、2つ目の条件はチェックせずにスキップされます。
  • switch文
    • if文から書き換えられる条件として、1つの変数に対して「値が一致するか」を何度も比較する時に使います。
    • break文は、処理を終わらせてswitch文から抜けるために記述します。
  • 繰り返しの中断
    • break文はループを完全に抜ける、continue文は次のループにスキップします。

5. まとめ

  • 文を実行させる順番を制御するために「順次、分岐、繰り返し」という3つの制御構造があります。
  • 分岐(if文とswitch文)を使い分けることで、条件に応じた処理が実現できます。
  • 繰り返し(for文とwhile文)を使い分けることで、効率的にループ処理ができます。

最後まで見ていただきありがとうございました。
次回は第4章「配列」について書く予定です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?