在java中goto的目的

时间:2013-04-20 05:26:48

标签: java

我知道goto是java中的关键字。此外,从wiki,我可以摘录,"它没有被使用,也没有功能"。

我想知道,为什么goto被声明为关键字,如果它没有用,而不是在任何地方使用? 有人曾在java程序中使用过goto吗?是否有任何其他关键字类似于在java编程中声明的goto,但在比喻上没有用。

我们在日常节目中使用goto或很少在何时使用?

5 个答案:

答案 0 :(得分:4)

以下是关于goto语句

的一些摘要

<强>用法:

它们用于跳出语言中的语句块,JMP指令在汇编级别执行此操作。

Goto是严格禁止的,因为它们使程序难以追踪 代码中的过度跳转会使其变慢。想象一下在里面有一个goto的循环。它一点也不好。

Java保留这个关键字可能因为它还涉及到jvm里面的一些本机代码(那是一些C / C ++)代码,可能是为了避免含糊不清。

Java提供break作为goto的实现,但它的用法也是有限的,不应经常使用。

Here's an example of break as a GOTO in java

答案 1 :(得分:1)

声明和未使用它的原因是为了保留它以备将来需要它。它目前没有用处。

constanother保留字,不执行任何操作。由于它们是保留的,因此不能在程序中使用它们(作为变量)。

答案 2 :(得分:1)

要找出gotoconst 最初保留的真正原因,您需要询问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)

go to语句在java中可用。但它被标记为“未使用”。

您可以使用labled break语句而不是goto

BREAK