導入
「条件を満たしたらすぐループを抜けたい」「特定の条件のときだけスキップしたい」——ループの流れを途中でコントロールしたいときに使うのが break と continue です。
説明
public class Main {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
if (i == 6) {
break;
}
System.out.println(i);
}
for (int i = 1; i <= 10; i++) {
if (i % 2 == 0) {
continue;
}
System.out.println(i);
}
}
}
break;… ループをその場で完全に抜けます。1つ目のループではi == 6になった瞬間にループ自体が終わるので、1〜5しか表示されません。continue;… 今回だけスキップして次の繰り返しへ進みます。ループ自体は終わりません。2つ目のループでは偶数のときだけcontinueするので、奇数(1, 3, 5, 7, 9)だけが表示されます。
「途中でやめる」のが break、「今回だけ飛ばす」のが continue と覚えましょう。
やってみよう
下のエディタで i == 6 の数値を変えたり、continue の条件を i % 3 == 0 に変えたりして、表示される数がどう変わるか確かめましょう。
演習
1〜20の中で最初に7で割り切れる数を見つけたら break して、その数を表示してください(結果は 7)。
ヒント1を見る
for (int i = 1; i <= 20; i++) { if (i % 7 == 0) { found = i; break; } } のように、見つかったら変数に入れて抜けます。
ヒント2を見る
ループの前に int found = -1; のように初期値を用意しておきます。最後に System.out.println(found);。