Java中是否有goto语句?

289

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

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

我对此感到困惑。我们大多数人都被告知Java中没有goto语句。但我发现它是Java中的关键字之一。它在语法上有效,但Java编程规范建议不要使用它,因为过度或错误使用goto语句可能会导致代码变得难以理解和维护。所以,虽然Java允许使用goto语句,但实际上几乎所有的Java程序都避免使用它。


18
建议您永远不要使用goto这个关键字。 - lostiniceland
7
迪科斯彻大师说:“考虑到语句的转移在程序设计中被认为是有害的”。请看这里:https://dev59.com/nXVD5IYBdhLWcg3wOo9h - n00ki3
10
大家都知道“GOTO”是有害的,但这并不是问题的答案,对吗? - Martin Lazar
25
“g**o”一词在大多数编程语言中被视为淫秽,这是真正的原因。Java设计者只是在保护那些年轻无知的程序员免受腐败影响。( :-) ) - Stephen C
44
对goto的“巫狩”引发了我生命中最令人恼火的时刻之一。我见过人们通过在函数中隐藏功能、在多层嵌套循环中加入荒谬的退出逻辑以及以其他可能的方式进行各种过度设计,只是为了避免有人在代码审查中批评他们的代码。这个规则,以及“避免多次返回”的谬论,都是无稽之谈。有时使用goto会使事情变得不易维护,但也有时使用goto会使事情更易维护。我曾经非常希望这场“巫狩”能在80年代就结束。 - user4229245
显示剩余7条评论
23个回答

0
当然它是关键字,但它不在源代码级别上使用。 但是如果你使用Jasmin或其他转换为字节码的低级语言,那么“goto”就存在了。

-2

因为尽管Java语言不使用它,但JVM字节码确实使用它。


7
那么为什么这种语言没有“load”关键字? - ApproachingDarknessFish
4
@gribnit,字节码中有一个goto本身并不意味着对于上层保留字有任何影响。 - user4229245

-6

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接