【问题标题】:Java label statement and goto [duplicate]Java标签语句和goto [重复]
【发布时间】:2011-10-02 18:45:57
【问题描述】:

可能重复:
goto keyword in java

  1. java中没有goto,对吧?
  2. 那么为什么 goto 仍被视为关键字?
  3. 标签语法(仅在循环/if 语句之前正确使用* ?? )并通过(标签、中断标签、继续标签)调用

*当我在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)

【问题讨论】:

标签: java label goto


【解决方案1】:

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

不管怎样,在去SCJP之前多读几遍Java语言规范(现在不是OCJP了吗?)

【讨论】:

  • 是的,它是 ocjp,我只是习惯称它为 scjp :),将编辑它
【解决方案2】:

java中没有goto,对吧?

是的

为什么 goto 仍然被认为是一个关键字呢?

是的,它是按标准考虑的,[有关官方文档,请参阅 Jon 给出的详细链接]

标签:见this

【讨论】:

    【解决方案3】:

    来自section 3.9 of the JLS

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

    【讨论】:

      猜你喜欢
      • 2011-10-01
      • 1970-01-01
      • 2015-10-10
      • 1970-01-01
      • 2011-01-26
      • 1970-01-01
      • 1970-01-01
      • 2021-02-27
      • 1970-01-01
      相关资源
      最近更新 更多