Java标签声明和转到

时间:2011-07-11 12:50:48

标签: java label goto

  

可能重复:
  goto keyword in java

  1. java中没有goto,对吧?
  2. 为什么goto仍被视为关键字呢?
  3. 标签语法(仅在循环/ if语句之前正确*使用)并通过(标签,断开标签,继续标签)调用
  4. *正确地导致我在x=3之前使用它在有其他任何情况后无法读取吗?

                int x = 2;
            label: x = 3;
            for (int j = 0; j < 5; j++) {
                System.out.println(j);
            }
            label;  // Compile error (no local variable label)
    

3 个答案:

答案 0 :(得分:6)

来自section 3.9 of the JLS

  

关键字constgoto是保留的,即使它们当前未被使用。如果这些C ++关键字错误地出现在程序中,这可能允许Java编译器生成更好的错误消息。

答案 1 :(得分:3)

  

java中没有goto,对吧?

  

为什么goto仍被视为关键字呢?

是的,它被标准考虑,[官方文档请参阅Jon提供的详细信息链接]

对于标签:请参阅this

答案 2 :(得分:1)

1 - Java(语言)中没有goto,Java(虚拟机)中有goto 2 - 保留关键字const和goto,即使它们当前未使用。如果这些C ++关键字错误地出现在程序中,这可能允许Java编译器生成更好的错误消息。 (来自The java language specification
3 - 问题是什么?

无论如何,在去SCJP之前多次阅读The java语言规范(现在不是OCJP?)