尽管goto是Java的一个保留字,但是并没哟阻碍语言中得到正式的使用。虽然goto声名狼藉,但有的时候使用goto进行跳转,能达到意想不到的好处。
Java使用continue和break可以实现跳转的效果,但是两者有一些不同。
continue实现goto
continue向上跳转到标签处,继续下次循环。
public static void main(String[] args) throws IOException {
lable:
for (int i = 0; i < 5; i++) {
if (i == 3) {
System.out.println("continue, goto lable");
continue lable;
}
System.out.println(i);
}
System.out.println("end");
}
输出结果:
0
1
2
continue, goto lable
4
end
注意,continue只能跳转到当前循环或者上层嵌套循环开始位置的标签,即由内向外向上跳转。
break实现goto
break向上跳转到标签处,结束循环
public static void main(String[] args) throws IOException {
lable:
for (int i = 0; i < 10; i++) {
if (i == 3) {
System.out.println("break, goto lable");
break lable;
}
System.out.println(i);
}
System.out.println("end");
}
输出结果:
0
1
2
break, goto lable
end