Java – break文とcontinue文の違いや使い分けについて解説
break文はループやswitch文を終了させるために使用され、現在の処理を完全に抜け出します。
一方、continue文はループ内で使用され、現在の反復処理をスキップして次の反復に進みます。
たとえば、break文は特定の条件でループ全体を終了したい場合に適し、continue文は特定の条件を飛ばしてループを継続したい場合に便利です。
break文とcontinue文とは何か
Javaにおけるbreak
文とcontinue
文は、ループ処理やswitch文の制御に使用される重要な構文です。
これらの文を使うことで、プログラムの流れを柔軟に制御することができます。
以下にそれぞれの文の基本的な説明を示します。
break文
break
文は、ループやswitch文の実行を中断し、次の処理に移るために使用されます。- ループ内で特定の条件が満たされた場合に、ループを終了させるのに便利です。
continue文
continue
文は、ループの現在の反復をスキップし、次の反復に移るために使用されます。- ループ内で特定の条件が満たされた場合に、その反復の残りの処理をスキップするのに役立ちます。
これらの文を適切に使用することで、プログラムの可読性や効率を向上させることができます。
次のセクションでは、break
文とcontinue
文の具体的な使い方について詳しく解説します。
break文とcontinue文の違い
break
文とcontinue
文は、どちらもループ処理に関連していますが、その動作は異なります。
以下の表に、両者の違いをまとめました。
特徴 | break文 | continue文 |
---|---|---|
目的 | ループを完全に終了させる | 現在の反復をスキップする |
使用場所 | for、while、do-while、switch文 | for、while、do-while |
実行後の動作 | ループの外に移動 | 次の反復に移動 |
例外処理 | switch文のケースを終了させる | ループ内の特定の条件をスキップ |
break文の動作
break
文は、ループやswitch文の実行を中断し、次の処理に移ります。
例えば、特定の条件が満たされた場合にループを終了させることができます。
以下はその例です。
import java.util.Scanner;
public class App {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int number;
while (true) { // 無限ループ
System.out.print("0を入力すると終了します: ");
number = scanner.nextInt();
if (number == 0) { // 条件が満たされた場合
break; // ループを終了
}
System.out.println("入力された数: " + number);
}
scanner.close();
}
}
0を入力すると終了します: 5
入力された数: 5
0を入力すると終了します: 0
continue文の動作
continue
文は、ループの現在の反復をスキップし、次の反復に移ります。
特定の条件が満たされた場合に、その反復の残りの処理をスキップするのに役立ちます。
以下はその例です。
import java.util.Scanner;
public class App {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int number;
for (int i = 1; i <= 5; i++) {
System.out.print("数を入力してください: ");
number = scanner.nextInt();
if (number < 0) { // 条件が満たされた場合
continue; // 現在の反復をスキップ
}
System.out.println("入力された数: " + number);
}
scanner.close();
}
}
数を入力してください: 3
入力された数: 3
数を入力してください: -1
数を入力してください: 5
入力された数: 5
数を入力してください: 0
入力された数: 0
数を入力してください: -2
このように、break
文とcontinue
文はそれぞれ異なる目的で使用され、プログラムの流れを制御するために非常に便利です。
次のセクションでは、これらの文の使い分け方について詳しく解説します。
break文とcontinue文の使い分け方
break
文とcontinue
文は、ループ処理において異なる目的を持つため、適切に使い分けることが重要です。
以下に、使い分けのポイントを示します。
使い分けのポイント
使用シーン | break文の使用例 | continue文の使用例 |
---|---|---|
ループを完全に終了したい場合 | 条件が満たされたらループを終了する | 条件が満たされたら次の反復に移る |
特定の条件で処理を中断したい場合 | エラーメッセージを表示して終了する | 無効な入力をスキップする |
複数の条件を持つ場合 | いずれかの条件でループを終了する | 特定の条件をスキップして処理を続ける |
break文の具体的な使い方
break
文は、特定の条件が満たされた場合にループを完全に終了させるために使用します。
例えば、ユーザーが特定の入力を行った場合に、プログラムを終了させるシナリオで役立ちます。
以下はその例です。
import java.util.Scanner;
public class App {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String input;
while (true) { // 無限ループ
System.out.print("終了するには 'exit' と入力してください: ");
input = scanner.nextLine();
if (input.equals("exit")) { // 条件が満たされた場合
break; // ループを終了
}
System.out.println("入力された文字: " + input);
}
scanner.close();
}
}
終了するには 'exit' と入力してください: hello
入力された文字: hello
終了するには 'exit' と入力してください: exit
continue文の具体的な使い方
continue
文は、特定の条件が満たされた場合に、現在の反復をスキップし、次の反復に移るために使用します。
例えば、無効な入力をスキップして、次の入力を促すシナリオで役立ちます。
以下はその例です。
import java.util.Scanner;
public class App {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int number;
for (int i = 1; i <= 5; i++) {
System.out.print("1から10の数を入力してください: ");
number = scanner.nextInt();
if (number < 1 || number > 10) { // 条件が満たされた場合
System.out.println("無効な入力です。再度入力してください。");
continue; // 現在の反復をスキップ
}
System.out.println("入力された数: " + number);
}
scanner.close();
}
}
1から10の数を入力してください: 15
無効な入力です。再度入力してください。
1から10の数を入力してください: 5
入力された数: 5
1から10の数を入力してください: -3
無効な入力です。再度入力してください。
1から10の数を入力してください: 8
入力された数: 8
このように、break
文とcontinue
文はそれぞれ異なるシナリオで使用されます。
プログラムの目的に応じて、適切に使い分けることが重要です。
まとめ
この記事では、Javaにおけるbreak
文とcontinue
文の基本的な使い方や、それぞれの違いについて詳しく解説しました。
これらの文を適切に使い分けることで、プログラムの流れをより柔軟に制御できるようになります。
今後は、実際のプログラムにこれらの文を取り入れて、より効率的なコーディングを目指してみてください。