读书人

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

发布时间: 2012-03-25 20:55:16 作者: rapoo

一个报错的小问题,高手帮忙!

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);        }    }} 

读书人网 >J2SE开发

热点推荐