Posted at

プログラミング初歩見習いのJavaメモ / ラベル付きループ

More than 5 years have passed since last update.

ラベル付きループなるものを学習したのでそのメモをば。

breakやcontinue等と一緒に使うことで、直近以外のforにもbreakやcontinueを対象にすることができます。

例として、このようなコードがあるとします。

loop1:

for(int i = 0; i < 3; i++) {
for(int j = 0; j < 5; j++) {
if (j==3) {
break loop1;
}
System.out.println("i=" + i + ", j=" + j);
}
}

上記の loop1: というラベルをつけることで、break loop1;

という処理がおこなれた際、breakの対象がラベルが貼られているループ処理箇所になるので、この場合だと一番外側のloopがbreakします。

その結果、このようなかんじになります!

i=0, j=0

i=0, j=1
i=0, j=2

break後の飛び幅が広いので可読性が下がることと、そもそも使っている人が少ないということで実際の現場等ではあまり使われないそうですが、Oracle認定試験等にも出てくることがあるそうで、知っておいて損はない、はず!