为什么Java变量名称不能以数字开头?

时间:2017-06-26 13:39:17

标签: java

在Java中,变量名称以字母,货币字符($)等开头,但不以数字:.

开头

简单的问题:为什么?

为什么编译器不允许使用变量声明,例如

int 7dfs;

2 个答案:

答案 0 :(得分:28)

简而言之,它会破坏语言语法的各个方面。

例如,7f是变量名,还是值为7的浮点文字?

你也可以召唤其他人:如果允许.,那么会与成员选择运算符冲突foo.bar本身就是一个标识符,或者它是对象实例bar的{​​{1}}字段?

答案 1 :(得分:14)

因为Java语言specification这样说:

  

IdentifierChars:

     

JavaLetter {JavaLetterOrDigit}

所以 - 是的,标识符必须以字母开头;它不能以数字开头。

背后的主要原因:

  • 这是大多数人的期望
  • 当您限制"布局时,它会使解析源代码(更多)变得更容易。标识符;例如,它减少了文字和变量名之间可能存在的歧义。