📅  最后修改于: 2023-12-03 14:43:01.516000             🧑  作者: Mango
goto
是一种控制流语句,它可以将程序跳转到已标记的语句处。在 Java 中,goto
是一个被禁止使用的关键字,因此 Java 不支持 goto
语句。
Java 的设计者之一,詹姆斯·高斯林(James Gosling)在 1996 年接受《Java 语言白皮书》(也称《Java 程序设计语言》)的采访时说:“我们觉得,对于大多数程序员而言,提供有用的控制流语句,break
和 continue
已经足够了。`
此外,goto
语句容易导致代码维护和阅读难度的增加,这也是 Java 禁止使用 goto
的原因。
为了替代 goto
,Java 提供了一些其他的控制流语句,如 break
、continue
、return
、throw
等。
break
语句通常在循环中使用,可以使程序立即跳出循环。如果在嵌套循环中使用 break
,可以跳出作为最近的循环的那个循环。
例如:
for (int i = 0; i < 10; i++) {
if (i == 5) {
break;
}
System.out.println(i);
}
上面的代码将输出:
0
1
2
3
4
continue
语句也通常在循环中使用,可以跳过当前循环中的余下语句,直接进入下一次循环。
例如:
for (int i = 0; i < 10; i++) {
if (i == 5) {
continue;
}
System.out.println(i);
}
上面的代码将输出:
0
1
2
3
4
6
7
8
9
return
和 throw
语句可以用来立即返回当前方法并停止执行。
例如:
public static void main(String[] args) {
int result = divide(10, 0);
System.out.println(result);
}
public static int divide(int dividend, int divisor) {
if (divisor == 0) {
throw new IllegalArgumentException("除数不能为 0");
}
return dividend / divisor;
}
上面的代码中,如果 divisor
为零,divide
方法将抛出一个 IllegalArgumentException
异常,并立即终止方法的执行。
Java 语言禁止使用 goto
语句,这是为了减少代码维护和阅读难度。它提供了其他控制流语句,如 break
、continue
、return
、throw
等来替代 goto
。程序员应该避免使用 goto
,并学会使用其他的控制流语句。