在Java中,变量名称以字母,货币字符($
)等开头,但不以数字:
或.
简单的问题:为什么?
为什么编译器不允许使用变量声明,例如
int 7dfs;
答案 0 :(得分:28)
简而言之,它会破坏语言语法的各个方面。
例如,7f
是变量名,还是值为7
的浮点文字?
你也可以召唤其他人:如果允许.
,那么会与成员选择运算符冲突:foo.bar
本身就是一个标识符,或者它是对象实例bar
的{{1}}字段?
答案 1 :(得分:14)
因为Java语言specification这样说:
IdentifierChars:
JavaLetter {JavaLetterOrDigit}
所以 - 是的,标识符必须以字母开头;它不能以数字开头。
背后的主要原因: