本文正在参加「Java主题月 - Java Debug笔记活动」,详情查看<活动链接>
我对此感到困惑。我们大多数人都被告知Java中没有任何goto语句。
但是我发现它是Java中的关键字之一。在哪里可以使用?如果不能使用它,为什么将它作为关键字包含在Java中?
提问:Java中有goto语句吗?
回答1:
在Java的关键字列表指定的goto关键字,但它被标记为“未使用”。
它在原始JVM中,但随后将其删除。万一oracle将其添加到Java的更高版本中,它可能被保留为保留关键字。
James Gosling创建了带有goto语句支持的原始JVM ,但随后他将该功能移除为不必要。goto不必要的主要原因是通常可以将其替换为更具可读性的语句(如break/continue)或将一段代码提取到方法中。
既然goto不在列表中,但如果你将其添加到代码中,则使用该单词goto作为标识符(变量名,方法名等)的现有代码将中断。但是因为goto本身确实是关键字,所以这样的代码目前甚至无法编译,并且仍有可能使其稍后在不破坏现有代码的情况下实际执行某些操作。
评论区:
-
有时,明智地使用goto是表达事物的最简便,最清晰的方法,因此,将其强制放入其他任何事物中的行为都会使可读性降低。
-
goto的用法(尽管可能是明智的)始终容易出错