我的一个孩子在高中学习Java,他的一次考试是这样的:
下列哪个在Java中是有效的标识符?
123 java。
b主要
c . java1234
d。{abce
whoot e。)
他答了b,答错了。
我看了看这个问题,认为main是一个有效的标识符,它应该是正确的。
我们查看了标识符的Java规范,它加强了这一点。我们还编写了一个示例程序,其中包含一个名为main的变量和一个方法。他写了一份书面反驳,包括Java文档参考,测试程序和老师忽略了它,说答案仍然是错误的。
main是有效的标识符吗?
Main是一个有效的Java标识符,而teacher是错误的。
相关文档在Java语言规范中,就在这里:
第三章。词汇结构,第3.8节。“标识符”:
https://docs.oracle.com/javase/specs/jls/se10/html/jls-3.html#jls-3.8
它说:
标识符是Java字母和Java数字的无限长度序列,其中第一个必须是Java字母…标识符不能与关键字(§3.9)、布尔字(§3.10.3)或空字(§3.10.7)具有相同的拼写(Unicode字符序列),否则会发生编译时错误。
这意味着你可以通过以下方法证明它是一个有效的标识符:
在Java关键字列表中查找它(提示:您在那里找不到它!)或简单地通过
使用它作为标识符,并观察是否发生编译时错误。