Java の break 文と continue 文の使い方を初心者向けに解説!
新人
「Java でループを途中で止めたり、特定の処理をスキップする方法ってありますか?」
先輩
「あるよ!それには break 文 と continue 文 を使うんだ。」
新人
「break 文と continue 文はどう違うんですか?」
先輩
「break 文はループ自体を抜けるのに対して、continue 文はループの特定の回だけスキップするんだよ。それぞれ詳しく説明していくね!」
1. break 文とは?(基本的な説明)
break 文 は、ループ処理の途中で強制的に抜け出すための構文です。
break 文の特徴
- 指定した条件に達したら、ループを途中で終了する
- for 文や while 文、do-while 文などのループで使用できる
- switch 文でも使用され、処理を適切な箇所で終了できる
例えば、1 から 10 までの数字を表示するプログラムで、「5 まで表示したらループを終了する」という処理を break 文を使って実装できます。
2. break 文の基本的な書き方
break 文の基本的な使い方を見てみましょう。
break 文の基本構文
public class BreakExample {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
if (i == 6) {
break; // i が 6 になったらループを終了する
}
System.out.println("現在の数値: " + i);
}
}
}
現在の数値: 1
現在の数値: 2
現在の数値: 3
現在の数値: 4
現在の数値: 5
break 文のポイント
- 条件を満たすと、ループ全体が終了する
if (i == 6)の条件を満たした時点でループが停止する- ループの中で使うと、処理を強制的に終了させることができる
例えば、このコードでは 1 から 10 までの数字を表示する処理ですが、i == 6 の条件で break 文が実行され、5 まで表示した時点でループが終了します。
switch 文での break 文の使い方
switch 文でも break 文を使用して、特定の case の処理を実行したら switch 文から抜け出すことができます。
public class SwitchBreakExample {
public static void main(String[] args) {
int num = 2;
switch (num) {
case 1:
System.out.println("選択肢は 1 です");
break;
case 2:
System.out.println("選択肢は 2 です");
break;
case 3:
System.out.println("選択肢は 3 です");
break;
default:
System.out.println("無効な選択肢です");
}
}
}
選択肢は 2 です
ポイント
- switch 文では、break 文を使わないと次の case まで処理が進んでしまう
- 例えば、break を削除すると case 2 の処理の後に case 3 の処理も実行される
break 文はループや switch 文の制御に使えるので、適切に使うことでプログラムの意図した流れを作ることができます。
3. continue 文とは?(基本的な説明)
continue 文 は、ループ処理の中で特定の条件を満たしたときに、その回の処理をスキップして次のループに進むための構文です。
continue 文の特徴
- 特定の条件で、その回のループ処理をスキップする
- for 文や while 文、do-while 文で使用可能
- break 文と違い、ループ自体は続く
例えば、1 から 10 までの数値を表示するプログラムで、「3 の倍数だけスキップする」ように continue 文を使うことができます。
4. continue 文の基本的な書き方
continue 文を使った基本的なサンプルコードを見てみましょう。
continue 文の基本構文
public class ContinueExample {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
if (i % 3 == 0) {
continue; // 3 の倍数のときはスキップ
}
System.out.println("現在の数値: " + i);
}
}
}
現在の数値: 1
現在の数値: 2
現在の数値: 4
現在の数値: 5
現在の数値: 7
現在の数値: 8
現在の数値: 10
continue 文のポイント
if (i % 3 == 0)の条件を満たした場合、continueが実行され、その回の処理がスキップされる- ループ自体は止まらず、次の回の処理が実行される
- 3, 6, 9 は表示されず、スキップされている
break 文と違い、continue 文はループの処理自体を終わらせずに、特定の条件のときだけスキップするという特徴があります。
5. break 文と continue 文の違い
break 文と continue 文はどちらもループの制御に使われますが、それぞれ動作が異なります。比較表を見てみましょう。
break 文と continue 文の比較
| 比較項目 | break 文 | continue 文 |
|---|---|---|
| 動作 | ループ自体を終了する | その回のループ処理をスキップする |
| 影響範囲 | ループが完全に終わる | ループは続くが、スキップした回の処理は実行されない |
| 適用場面 | 特定の条件でループを完全に終了したい場合 | 特定の条件のときだけスキップしたい場合 |
break 文と continue 文の動作比較
break 文を使った場合
public class BreakExample {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
if (i == 6) {
break; // 6 になったらループを終了
}
System.out.println("現在の数値: " + i);
}
}
}
現在の数値: 1
現在の数値: 2
現在の数値: 3
現在の数値: 4
現在の数値: 5
continue 文を使った場合
public class ContinueExample {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
if (i % 3 == 0) {
continue; // 3 の倍数をスキップ
}
System.out.println("現在の数値: " + i);
}
}
}
現在の数値: 1
現在の数値: 2
現在の数値: 4
現在の数値: 5
現在の数値: 7
現在の数値: 8
現在の数値: 10
どちらを使うべきか?
- 特定の条件でループ全体を終了する … break 文を使う
- 特定の条件でスキップしつつ、ループは継続する … continue 文を使う
例えば、ユーザーが「exit」と入力したら処理を終了する場合は break 文が適しています。一方で、偶数のときだけスキップしたい場合は continue 文を使うと便利です。
6. 練習問題:break 文と continue 文を使ったプログラムを作ろう
ここまで break 文と continue 文の基本的な使い方を解説しました。最後に、理解を深めるために練習問題を解いてみましょう。
練習問題 1
1 から 20 までの数を表示するプログラムを作成してください。ただし、次の条件に従って break 文と continue 文を使用してください。
- 10 になったらループを終了する(break 文を使用)
- 3 の倍数はスキップする(continue 文を使用)
public class BreakContinuePractice {
public static void main(String[] args) {
for (int i = 1; i <= 20; i++) {
if (i == 10) {
break; // 10 になったらループを終了
}
if (i % 3 == 0) {
continue; // 3 の倍数をスキップ
}
System.out.println("現在の数値: " + i);
}
}
}
現在の数値: 1
現在の数値: 2
現在の数値: 4
現在の数値: 5
現在の数値: 7
現在の数値: 8
現在の数値: 10
このように break 文と continue 文を適切に使うことで、ループ処理を柔軟に制御できます。
6. break 文を使った応用例(ループを途中で抜ける)
break 文は、ループの中で特定の条件を満たした場合に、ループを途中で終了するために使用します。これにより、不要な処理を省略し、プログラムの動作を効率的にできます。
例:特定の数値が見つかったらループを終了
例えば、配列の中から特定の値を見つけたら、ループを終了する処理を考えてみましょう。
public class BreakExample {
public static void main(String[] args) {
int[] numbers = {10, 20, 30, 40, 50};
int target = 30;
for (int num : numbers) {
System.out.println("現在の値: " + num);
if (num == target) {
System.out.println("目的の値 " + target + " を見つけました!");
break; // 目的の値が見つかったらループを終了
}
}
}
}
現在の値: 10
現在の値: 20
現在の値: 30
目的の値 30 を見つけました!
ポイント
- break 文を使うことで、不要なループを回避できる
- 配列の中から特定の値を探すときに便利
- 不要な処理を減らし、プログラムの効率を向上させる
7. continue 文を使った応用例(特定の条件でスキップする)
continue 文は、ループの中で特定の条件を満たした場合に、その回の処理をスキップし、次のループ処理へ進むために使用します。
例:偶数だけ処理をスキップする
例えば、1 から 10 までの数字のうち、偶数のときだけ処理をスキップして、奇数のみを表示するプログラムを考えてみましょう。
public class ContinueExample {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
if (i % 2 == 0) {
continue; // 偶数のときはスキップ
}
System.out.println("現在の数値: " + i);
}
}
}
現在の数値: 1
現在の数値: 3
現在の数値: 5
現在の数値: 7
現在の数値: 9
ポイント
- continue 文を使うと、特定の条件に合致する場合の処理をスキップできる
- この例では偶数のときだけ処理をスキップし、奇数のみを表示している
- 特定の条件のときだけ処理を実行したくない場合に便利
8. 練習問題:break 文と continue 文を使ったプログラムを作ろう
break 文と continue 文の使い方を理解するために、練習問題を解いてみましょう。
練習問題 1
1 から 50 までの数値を表示するプログラムを作成してください。ただし、以下の条件を満たすようにしてください。
- 25 になったらループを終了する(break 文を使用)
- 3 の倍数のときはスキップする(continue 文を使用)
public class BreakContinuePractice {
public static void main(String[] args) {
for (int i = 1; i <= 50; i++) {
if (i == 25) {
break; // 25 になったらループを終了
}
if (i % 3 == 0) {
continue; // 3 の倍数をスキップ
}
System.out.println("現在の数値: " + i);
}
}
}
現在の数値: 1
現在の数値: 2
現在の数値: 4
現在の数値: 5
現在の数値: 7
現在の数値: 8
現在の数値: 10
...
現在の数値: 22
現在の数値: 23
現在の数値: 25
練習問題 2
1 から 100 までの数字を表示するプログラムを作成してください。ただし、次の条件を満たすようにしてください。
- 50 になったらループを終了する(break 文を使用)
- 偶数のときはスキップする(continue 文を使用)
public class BreakContinueExample {
public static void main(String[] args) {
for (int i = 1; i <= 100; i++) {
if (i == 50) {
break; // 50 になったらループを終了
}
if (i % 2 == 0) {
continue; // 偶数はスキップ
}
System.out.println("現在の数値: " + i);
}
}
}
現在の数値: 1
現在の数値: 3
現在の数値: 5
現在の数値: 7
...
現在の数値: 47
現在の数値: 49
ポイント
- break 文は、指定の条件でループを完全に終了させる
- continue 文は、指定の条件でその回の処理だけスキップする
- 両方を組み合わせることで、柔軟なループ処理を実現できる
break 文と continue 文の使い方をしっかりと理解し、プログラムに活かしましょう!
まとめ
break 文と continue 文の役割を振り返ろう
ここまで、Java の break 文 と continue 文 について、ループ処理を中心に詳しく学んできました。Java の for 文 や while 文、do while 文 といった繰り返し処理は、プログラミング初心者が最初につまずきやすいポイントですが、break 文 と continue 文 を正しく理解することで、処理の流れを自分の意図どおりに制御できるようになります。 break 文 は、条件を満たした瞬間にループそのものを終了させるための構文です。一方で continue 文 は、ループを終了するのではなく、その回の処理だけをスキップして次の繰り返しへ進むために使われます。この違いを理解することが、Java の制御構文を身につけるうえで非常に重要です。
break 文を使うべき場面
break 文 は、「これ以上繰り返す必要がない」と判断できた時点で処理を止めたい場合に活躍します。たとえば、配列やリストの中から特定の値を探す処理、条件を満たした最初の一件だけを取得したい処理、ユーザー入力に応じてループを終了したい場面などでよく使われます。 Java の break 文 は、無駄な処理を減らし、プログラムの実行効率を高める役割も持っています。必要なところでループを抜けることで、読みやすく、理解しやすいコードを書くことができます。
continue 文を使うべき場面
continue 文 は、「特定の条件のときだけ処理を飛ばしたい」場合に非常に便利です。すべての繰り返しを止める必要はないものの、一部の条件では処理を実行したくない、というケースは実務でも頻繁に登場します。 例えば、奇数だけをスキップしたい、エラー条件に該当するデータだけを除外したい、空の値は処理しない、といった場面です。continue 文 を使うことで、条件分岐のネストを減らし、すっきりとした Java コードを書くことができます。
break 文 と continue 文 を組み合わせたサンプル
public class BreakContinueSummaryExample {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
// 偶数はスキップ
if (i % 2 == 0) {
continue;
}
// 7 になったらループ終了
if (i == 7) {
break;
}
System.out.println("現在の値: " + i);
}
}
}
現在の値: 1
現在の値: 3
現在の値: 5
この例では、continue 文 によって偶数の処理をスキップし、break 文 によって特定の条件でループを終了しています。実際の Java プログラミングでは、このように break 文 と continue 文 を組み合わせて使うことで、柔軟なループ制御が可能になります。
初心者が意識したいポイント
Java の break 文 と continue 文 は非常に便利ですが、使いすぎると処理の流れが追いにくくなることもあります。そのため、「なぜここでループを止めるのか」「なぜこの処理をスキップするのか」をコメントや変数名で明確にすることが大切です。 特に初心者のうちは、for 文 や while 文 の基本構造をしっかり理解したうえで、break 文 や continue 文 を必要な場面で使うようにしましょう。そうすることで、読みやすく、保守しやすい Java プログラムを書けるようになります。
生徒
「break 文 と continue 文 の違いが、ようやくはっきり分かってきました。break 文 はループを終わらせて、continue 文 はその回だけ飛ばすんですね。」
先生
「その理解で正しいですよ。Java の ループ処理 を学ぶうえで、とても大事なポイントです。」
生徒
「最初は難しそうに感じましたけど、サンプルプログラムを見ながらだと理解しやすかったです。」
先生
「初心者のうちは、実際にコードを書いて動かしながら学ぶのが一番ですね。break 文 や continue 文 は、条件分岐と組み合わせることで本領を発揮します。」
生徒
「これからは、無駄な繰り返しを減らしたり、条件に応じて処理を整理したりできそうです。」
先生
「その意識が大切です。Java の 制御構文 をしっかり身につければ、より実践的なプログラムにも挑戦できるようになりますよ。」