Javaのbreakとcontinueの違いとは?ループを止める・スキップする方法|確認問題の回答例

このページは、Javaのbreakとcontinueの違いとは?ループを止める・スキップする方法の確認問題を見直すためのページです。先に自分で考えてから、回答例と見比べてください。
問題1:3の倍数を表示しない
ファイル名: SkipMultipleOfThree.java
public class SkipMultipleOfThree {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
if (i % 3 == 0) {
continue;
}
System.out.println(i);
}
}
}
実行結果
1 2 4 5 7 8 10
i % 3 == 0は、iが3で割り切れるかを調べる条件です。条件を満たす3、6、9ではcontinueにより表示処理を飛ばし、次の周へ進みます。
問題2:7になったらループを終える
ファイル名: StopAtSeven.java
public class StopAtSeven {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
if (i == 7) {
break;
}
System.out.println(i);
}
}
}
実行結果
1 2 3 4 5 6
iが7になった周では、表示する前にbreakが実行されます。そのため7は表示されず、8以降の周も実行されません。
問題3:continueとbreakの後にある処理
continueの後にある処理は、その周では実行されません。ループが続く場合は、次の周の条件判定へ進みます。
breakの後にある処理も、ループ内では実行されません。こちらは次の周へ進まず、ループそのものを抜けます。
continue:今の周の残りを飛ばして、次の周へ進む break :ループ全体を終えて、ループの後へ進む
どちらも「命令の下にある処理を通らない」点は同じです。違いは、そのあと次の周に進むか、ループの外へ出るかです。