goto 是 Java 的保留关键字,在 Java 中没有 goto.
在 C++ 语法中,goto 是一个控制流程的关键字,用于跳转到指定的程序位置。
很方便,导致程序的可读性和可分析性变弱,Java 放弃了该方式。
goto 实际上是一种标签语法,在程序的某个位置贴上标签,下一次见到这个标签,直接跳转。
前端代码有这种标签语句,实现页面的上下跳转。
Java 有自己的标签语法,用于控制多层循环。见如下代码:
public static void labelWhile () {
int i = 0;
outer:
while (true) {
System.out.println("Outer while loop");
while (true) {
i++;
System.out.println("i = " + i);
if (i == 1) {
System.out.println("continue");
continue;
}
if (i == 3) {
System.out.println("continue outer");
continue outer;
}
if (i == 5) {
System.out.println("break");
break;
}
if (i == 7) {
System.out.println("break outer");
break outer;
}
}
}
}
//*************************结果打印*************************
Outer while loop
i = 1
continue
i = 2
i = 3
continue outter
Outer while loop
i = 4
i = 5
break
Outer while loop
i = 6
i = 7
break outer
outer 是标签,用于标注外层循环,可以通过内层循环直接控制外层循环。
break 和 continue 只能控制其所在的当前循环,无法控制外层循环,标签语法补充了这个缺陷。
注意: Java中的标签语法,只能在控制多层循环时使用,其他位置不适用。