- Java code
public class Test { 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:for (int x = 3; x < 8; x++) {
if (x == 4)
break;
if (x == 6)
break z;
o = o + x;
}
break是跳出循环!!只有一层循环break和break z是一样的!break z是跳出标记的那层循环!没有C++中goto的功能!
------解决方案--------------------
java没有goto表达式,goto是个由于历史原因遗留的关键字。通过continue和标签可以变相实现goto
goto严重影响可读性。建议楼主修改一下代码吧。
------解决方案--------------------
break label;
label应该是循环的标记
意思就是中断标记的循环
- Java code
public class Test { static String o = ""; public static void main(String[] args) { for (int i = 0; i < 7; i++) { z:for (int x = 3; x < 8; x++) { if (x == 6) break z; o = o + x; } System.out.println(o); } }}