package brea;
public class BreakExample {
static String o ="";
public static void main(String[] args) {
z:
o = o +2;
for(int x = 3 ; x < 8 ; x++){
if(x == 4) break;
if(x==6) break z;
o = o+x;
}
System.out.println(o);
}
}
在上面的代码中,我得到一个编译错误,因为缺少标签z。是什么原因 ?什么可以解决?
答案 0 :(得分:3)
A label is followed by a statement。在您的情况下,该语句只是
o = o + 2;
因此z
仅适用于该声明。
标签声明的标签范围是立即的 包含声明。
如果您希望z
在for
语句的范围内,请添加一个块语句
z: {
o = o + 2;
for (int x = 3; x < 8; x++) {
if (x == 4)
break;
if (x == 6)
break z;
o = o + x;
}
}