当前位置: 代码迷 >> J2SE >> 一个报错的小疑点,高手帮忙
  详细解决方案

一个报错的小疑点,高手帮忙

热度:68   发布时间:2016-04-24 01:48:56.0
一个报错的小问题,高手帮忙!
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);        }    }}
  相关解决方案