【问题标题】:What does the Java compiler error message "<identifier> expected" mean?Java 编译器错误消息“<identifier> expected”是什么意思?
【发布时间】:2011-08-17 21:36:44
【问题描述】:
class if{
    public static void main (String args[]){
        int x = 9;
        if (x <= 9){
            System.out.println("Yay");
        }else{
            System.out.println("Yay");
            }
        }
    }

我从编译器运行它,使用 Notepad++ 作为文本编辑器。我在编译器中收到错误消息&lt;identifier&gt; expected class if。另一个错误是illegal start of expression。 以及说error ";" expected。我总共有 9 个错误。

我确保匹配所有{}()。甚至刮掉程序并再次尝试,结果相同。

【问题讨论】:

标签: java compiler-errors


【解决方案1】:

if 是 Java 中的保留关键字(如您的 if 语句中所示),因此不是合格的类名。为您的班级选择其他名称,例如 IfTesting

按照惯例,所有类名都以大写字母开头。在Java Language Specification 中可以找到关于什么是有效Java 标识符以及什么不是有效Java 标识符的完整详细信息。简而言之,它不能是keywordtruefalsenull

【讨论】:

  • 好的,谢谢你的链接。我会尽可能接受答案。指出我在我的程序中使用的 if 对我来说应该是一个死的赠品。
  • 我忘了给我的一个参数一个标识符......但是错误引用了class(代码前面)的行。不过这个 QA 帮助了我。
【解决方案2】:

您不应该将类称为“if”。它是一个保留的 Java 关键字(您在程序中使用它,顺便说一句)。

此外,按照惯例,Java 中的所有类都以大写字母开头。

【讨论】:

  • 我有一种感觉,这将是一件非常简单的事情。好吧,现在我知道不该做什么了。当然,感觉非常愚蠢,哦。谢谢
  • @Tarrant 没有理由感到愚蠢!我们曾经都是初学者。你会犯错误并从中吸取教训。
【解决方案3】:

你不能用关键字命名你的类甚至变量。

【讨论】:

    【解决方案4】:

    如果是关键字,您无法命名您的班级。更多示例请查看this

    【讨论】:

      【解决方案5】:

      另外,它是 (String[] args)

      不是(字符串 args[])

      【讨论】:

      • 同理,只是函数调用方式不同。
      猜你喜欢
      • 2014-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-01
      相关资源
      最近更新 更多