Java Silver合格への道 ~ラベル~
スポンサーリンク
こんにちは。たろすです。
今回はラベルについてです。
ラベルの使い方
まず以下のコードを見てください。
public class Main { public static void main(String[] args) { // TODO 自動生成されたメソッド・スタブ for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) { System.out.println(i + " " + j); if (j == 3) { break; } } } } }
二重ループがあり、内側のループの中でjが3と等しければbreakするような構造になっています。
そのためこのプログラムを実行すると、
0 0 0 1 0 2 0 3 1 0 1 1 1 2 1 3 2 0 2 1 2 2 2 3 3 0 3 1 3 2 3 3 4 0 4 1 4 2 4 3
と出力されます。
j(右側の列)が3になったろころで内側のループを抜けていることがわかります。
次に以下のコードを見てください。
public class Main { public static void main(String[] args) { // TODO 自動生成されたメソッド・スタブ a: for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) { System.out.println(i + " " + j); if (j == 3) { break a; } } } } }
先程と異なるのは外側のforの左側に「a:」がついていることと、breakの右側に「a」がついていることです。
これをラベルと呼びます。
このプログラムを実行すると以下の出力が得られます。
0 0 0 1 0 2 0 3
jが3と等しくなったところで外側のループを抜けていることがわかります。
これはラベルを付けたことでbreakと外側のforを紐づけたからです。
このようにラベルを使うことでbreakするループを変えたりすることができます。