我知道goto
是java中的关键字。此外,从wiki,我可以摘录,"它没有被使用,也没有功能"。
我想知道,为什么goto
被声明为关键字,如果它没有用,而不是在任何地方使用?
有人曾在java程序中使用过goto
吗?是否有任何其他关键字类似于在java编程中声明的goto,但在比喻上没有用。
我们在日常节目中使用goto或很少在何时使用?
答案 0 :(得分:4)
以下是关于goto语句
的一些摘要<强>用法:强>
它们用于跳出语言中的语句块,JMP指令在汇编级别执行此操作。
Goto是严格禁止的,因为它们使程序难以追踪 代码中的过度跳转会使其变慢。想象一下在里面有一个goto的循环。它一点也不好。
Java保留这个关键字可能因为它还涉及到jvm里面的一些本机代码(那是一些C / C ++)代码,可能是为了避免含糊不清。
Java提供break作为goto的实现,但它的用法也是有限的,不应经常使用。
答案 1 :(得分:1)
声明和未使用它的原因是为了保留它以备将来需要它。它目前没有用处。
const
是another保留字,不执行任何操作。由于它们是保留的,因此不能在程序中使用它们(作为变量)。
答案 2 :(得分:1)
要找出goto
和const
最初保留的真正原因,您需要询问Java语言设计人员。当语言被称为Oak时,就会做出决定。
然而,有几个似是而非的解释:
他们认为可能需要以可能使用这些关键字的方式扩展语言,并且他们会保持其选项的开放。
他们希望避免C / C ++程序员阅读Java代码的认知失调,其中一些被误导的人决定使用“goto”或“const”作为变量或方法名称。
但显而易见的事实是,现在使用这些保留字的可能性为零。
<强>更新强>
显然Java 确实已经转到了一点。
“我所做的一件事就是goto有一些问题.Java曾经有过一段时间的考虑。我研究了人们对goto做了些什么?基于这项研究的50万代码行,我刚刚摆脱它。“
来自"James Gosling on Java, May 2001"。
所以真正的解释是goto
是保留的,因为 在早期版本的Java中使用,他们决定摆脱它。 / p>
答案 3 :(得分:0)
Java keyword list指定goto关键字,但标记为“未使用”。 请参阅Java关键字列表,了解其他关键字,如java编程中声明的goto,但隐喻没用。
startAgain:
for(int i =0; i <10 ;i++){
for(int i =0; i <10 ;i++){
if(someCondition)
break startAgain;
}
}
上面的代码与goto类似。
答案 4 :(得分:0)