我对此感到困惑。我们大多数人都听说过Java中没有goto语句。
但我发现它是Java中的关键字之一。它可以在哪里使用?如果它不能使用,那么为什么它作为关键字包含在Java中?
我对此感到困惑。我们大多数人都听说过Java中没有goto语句。
但我发现它是Java中的关键字之一。它可以在哪里使用?如果它不能使用,那么为什么它作为关键字包含在Java中?
当前回答
请参阅下面的链接,它显示了所有java保留字,并告诉您添加了哪些版本。
http://java.sun.com/docs/books/tutorial/java/nutsandbolts/_keywords.html
Goto是保留的,即使目前没有使用,但永远不要说永远:)
其他回答
请参阅下面的链接,它显示了所有java保留字,并告诉您添加了哪些版本。
http://java.sun.com/docs/books/tutorial/java/nutsandbolts/_keywords.html
Goto是保留的,即使目前没有使用,但永远不要说永远:)
是的,这是可能的,但不像在c#(在我看来,c#更好!)那些总是模糊软件的观点是愚蠢的!很遗憾java没有至少goto case xxx。
跳转向前:
public static void main(String [] args) {
myblock: {
System.out.println("Hello");
if (some_condition)
break myblock;
System.out.println("Nice day");
}
// here code continue after performing break myblock
System.out.println("And work");
}
向后跳:
public static void main(String [] args) {
mystart: //here code continue after performing continue mystart
do {
System.out.println("Hello");
if (some_condition)
continue mystart;
System.out.println("Nice day");
} while (false);
System.out.println("And work");
}
它被认为是不能做的事情之一,但可能被列为保留词,以避免开发人员感到困惑。
http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-6.html#jvms-6.5.goto
如果有人告诉你Java中没有goto语句,那你就被骗了。事实上,Java由两层“源代码”组成。
Java关键字列表指定了goto关键字,但它被标记为“未使用”。
它在最初的JVM中(参见@VitaliiFedorenko的回答),但后来被删除了。它可能被保留为一个保留关键字,以防它被添加到Java的后期版本中。
如果goto不在列表中,并且它后来被添加到语言中,使用单词goto作为标识符(变量名、方法名等)的现有代码将被破坏。但是因为goto是一个关键字,这样的代码在当前甚至不会编译,并且它仍然有可能在不破坏现有代码的情况下让它实际做一些事情。