class Program {
// 通常の使い方
label1:
while (true) {
while (true) {
break label1;
}
}
// ループじゃなくても名前付きbreak
label2: {
break label2;
}
// ループじゃないと名前無しでbreakできない
label3: {
// break; // compile error
}
// ループじゃないと名前無しでbreakできない
{
// break; // compile error
}
while (true) {
label4: {
break; // 名前無しのbreakは常にループの内側を抜ける
}
System.
out.
printf("never executed\n"); }
}
}
Y2xhc3MgUHJvZ3JhbSB7CQoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nLi4uIGFyZ3MpIHRocm93cyBFeGNlcHRpb24gewoJCS8vIOmAmuW4uOOBruS9v+OBhOaWuQoJCWxhYmVsMToKCQkJd2hpbGUgKHRydWUpIHsKCQkJCXdoaWxlICh0cnVlKSB7CgkJCQkJYnJlYWsgbGFiZWwxOyAKCQkJCX0KCQkJfQoJCgkJLy8g44Or44O844OX44GY44KD44Gq44GP44Gm44KC5ZCN5YmN5LuY44GNYnJlYWsKCQlsYWJlbDI6IHsKCQkJYnJlYWsgbGFiZWwyOwoJCX0KCgkJLy8g44Or44O844OX44GY44KD44Gq44GE44Go5ZCN5YmN54Sh44GX44GnYnJlYWvjgafjgY3jgarjgYQKCQlsYWJlbDM6IHsKLy8JCQlicmVhazsgLy8gY29tcGlsZSBlcnJvcgoJCX0KCQkKCQkvLyDjg6vjg7zjg5fjgZjjgoPjgarjgYTjgajlkI3liY3nhKHjgZfjgadicmVha+OBp+OBjeOBquOBhAoJCXsKLy8JCQlicmVhazsgLy8gY29tcGlsZSBlcnJvcgoJCX0KCQkKCQl3aGlsZSAodHJ1ZSkgewoJCQlsYWJlbDQ6IHsKCQkJCWJyZWFrOyAvLyDlkI3liY3nhKHjgZfjga5icmVha+OBr+W4uOOBq+ODq+ODvOODl+OBruWGheWBtOOCkuaKnOOBkeOCiwoJCQl9CgkJCVN5c3RlbS5vdXQucHJpbnRmKCJuZXZlciBleGVjdXRlZFxuIik7CQoJCX0KCX0KfQo=