Java 中是否有 goto 语句?

2022-08-31 05:16:59

我对此感到困惑。我们大多数人都被告知Java中没有任何goto语句。

但我发现它是Java中的关键字之一。在哪里可以使用?如果它不能使用,那么为什么它被包含在Java中作为关键字?


答案 1

James Gosling在支持语句的情况下创建了原始的JVM,但后来他删除了这个不必要的功能。没有必要的主要原因是,通常可以用更具可读性的语句(如)或通过将一段代码提取到方法中来替换它。gotogotobreak/continue

资料来源:James Gosling,问答环节


答案 2

Java 关键字列表指定关键字,但它被标记为“未使用”。goto

它在原始的JVM中(参见@VitaliiFedorenko的答案),但后来被删除了。它可能被保留为保留关键字,以防它被添加到更高版本的Java中。

如果 不在列表中,并且稍后将其添加到语言中,则使用该单词作为标识符(变量名称,方法名称等)的现有代码将中断。但是由于是关键字,这样的代码甚至不会在当前编译,并且仍然有可能使它以后实际执行某些操作,而不会破坏现有代码。gotogotogoto