ラベル付きbreak

プログラミング言語Ruby 5.5.6 throwとcatch」より

JavaJavaScriptなどの言語では、任意のプレフィックスで繰り返しに名前、ラベルを付けることができ、「ラベル付きbreak」と呼ばれる制御構造によって、名前付き繰り返しを抜け出すことができる。


知らなかった...

↓こんな感じ

public class Label {

	public static void main(String[] args) {

		for (int i = 0; i < 2; i++) {
			label: for (int j = 0; j < 2; j++) {
				for (int k = 0; k < 2; k++) {
					int product = j * k;
					if (product > 3) {
						break label;
					}
					System.out.println(product);
				}
			}
			System.out.println("Break!");
		}
	}
}


出力

0
0
0
1
Break!
0
0
0
1
Break!

実際に使われてるところは見たことないなあ。
一種のgoto文のように見えるし、使う場面はそんなにないように思う。