Java | break文:エントリ〜中級向け 練習問題セット

Java Java
スポンサーリンク

以下は、
《break文:エントリ〜中級向け 練習問題セット(解答+ステップ解説付き)》
です。
プログラミング初心者が「読む → 考える → 動かす」で理解を深められる構成にしています。
各問題には
👉「学習ポイント」
👉「ヒント(考える方向)」
👉「模範解答+ステップ解説」
を付けています。


【Lv1】単純な break の動作確認

問題1:
1〜10 まで数を表示し、5 になったらループを抜けて終了するプログラムを書きましょう。

学習ポイント
break は「ループを途中で終わらせる」。

ヒント
for (int i = 1; i <= 10; i++) の中で条件をチェック。

模範解答:

for (int i = 1; i <= 10; i++) {
    System.out.println(i);
    if (i == 5) {
        break;
    }
}
System.out.println("ループ終了");
Java

ステップ解説

  • 1~10を順に表示
  • 5のとき break でfor文終了
  • 結果:1,2,3,4,5 のみ表示

【Lv1】while ループでの break

問題2:
1からカウントアップし、7 になったらループを抜けるプログラムを書こう。

ヒント
while (true)break を組み合わせる。

模範解答:

int i = 1;
while (true) {
    System.out.println(i);
    if (i == 7) {
        break;
    }
    i++;
}
System.out.println("終了");
Java

【Lv2】ユーザー入力で break

問題3:
ユーザーが「exit」と入力するまで文字列を受け取り続けるプログラムを作ろう。

学習ポイント
入力ループの終了条件に break を使う。

模範解答:

Scanner sc = new Scanner(System.in);
while (true) {
    System.out.print("入力してください(exitで終了): ");
    String input = sc.nextLine();
    if (input.equals("exit")) {
        break;
    }
    System.out.println("入力内容: " + input);
}
System.out.println("終了します。");
sc.close();
Java

【Lv2】合計が一定値を超えたら終了

問題4:
1〜100 の整数を足し続け、合計が 50 を超えた時点でループを抜けて終了。

模範解答:

int sum = 0;
for (int i = 1; i <= 100; i++) {
    sum += i;
    if (sum > 50) {
        break;
    }
}
System.out.println("合計が50を超えました: " + sum);
Java

ステップ
1+2+3+… で sum が 51 になった時点で break → 6回目で終了。


【Lv2】リスト検索(見つけたら終了)

問題5:
配列 {"apple", "banana", "grape", "melon"} から "grape" を探して、見つけたら「見つけた!」と表示してループを抜けよう。

模範解答:

String[] fruits = {"apple", "banana", "grape", "melon"};
for (String f : fruits) {
    if (f.equals("grape")) {
        System.out.println("見つけた!");
        break;
    }
}
Java

【Lv3】見つからなかった場合の処理

問題6:
上の問題を改造し、見つからなかった場合には「見つかりませんでした」と表示するようにしよう。

模範解答:

String[] fruits = {"apple", "banana", "melon"};
boolean found = false;
for (String f : fruits) {
    if (f.equals("grape")) {
        System.out.println("見つけた!");
        found = true;
        break;
    }
}
if (!found) {
    System.out.println("見つかりませんでした");
}
Java

【Lv3】二重ループ+ラベルなし break

問題7:
2次元配列 int[][] nums = {{1,2,3},{4,5,6},{7,8,9}}; の中で、値が 5 のときに「発見」と出力して内側ループを抜けよう。

模範解答:

int[][] nums = {{1,2,3},{4,5,6},{7,8,9}};
for (int i = 0; i < nums.length; i++) {
    for (int j = 0; j < nums[i].length; j++) {
        if (nums[i][j] == 5) {
            System.out.println("発見: " + i + "," + j);
            break; // 内側ループだけ抜ける
        }
    }
}
Java

【Lv4】ラベル付き break(外側も抜ける)

問題8:
上と同じ配列で、5 を見つけたら両方のループを抜けるように変更しよう。

模範解答:

int[][] nums = {{1,2,3},{4,5,6},{7,8,9}};
Outer:
for (int i = 0; i < nums.length; i++) {
    for (int j = 0; j < nums[i].length; j++) {
        if (nums[i][j] == 5) {
            System.out.println("発見: " + i + "," + j);
            break Outer;
        }
    }
}
System.out.println("探索終了");
Java

【Lv4】不正データ検出で中断

問題9:
リスト List<Integer> data = List.of(10, 20, -1, 30);
この中に 負の数があればエラーメッセージを出して処理を中断するプログラムを書こう。

模範解答:

List<Integer> data = List.of(10, 20, -1, 30);
for (int value : data) {
    if (value < 0) {
        System.err.println("不正データ: " + value);
        break;
    }
    System.out.println("処理: " + value);
}
System.out.println("終了");
Java

【Lv5】リトライ処理(成功したら抜ける)

問題10:
疑似API呼び出しメソッド boolean tryConnect() があり、最大3回試行して成功したら抜ける。
失敗したら「失敗x回目」と表示。3回すべて失敗したら「接続できませんでした」。

模範解答:

final int MAX_RETRY = 3;
boolean success = false;
for (int i = 1; i <= MAX_RETRY; i++) {
    if (tryConnect()) {
        System.out.println("接続成功!");
        success = true;
        break;
    } else {
        System.out.println("失敗 " + i + "回目");
    }
}
if (!success) {
    System.out.println("接続できませんでした。");
}
Java

まとめ:break練習のポイント

レベル主な目的習得スキル
Lv1単純な break 動作ループ制御の基本
Lv2条件終了/入力制御実務の構造理解
Lv3検索+フラグ状態管理
Lv4ネスト・ラベル外側ループ制御
Lv5リトライ処理例外的終了と安全設計

Java
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました