首先:
Java语言规定标识符由字母,下划线(_),美元符($)和数字组成,且第一个字符不能是数字。

而上面的句子中的 字母 ,不要想当然

字母:包括大、小写字母,汉字等各种语言中的字符

而且java语言使用的是Unicode字符集,它包括65 535个字符,适用于多种人类自然语言。

猜一下以下6个变量名哪些是合法的:

  1. 2variable
  2. variable2
  3. _3_
  4. $anothervar
  5. $_¥
  6. 中国

答案是除了第一个都是合法变量名

public class Demo{
	public static void main(String[] args){
		int variable2;
		int _3_;
		int $anothervar;
		int $_¥; //¥也是字母(中文中的字符)
		int 中国; //也是字母(中文中的字符)
	}
} 

编译通过,所以说明这五个变量都是合法的

但是合法并不一定适合使用,第二种是最推荐使用的

  1. 命名基本上是不会使用中文的
  2. 拼音也是不推荐的
  3. $,我们最好不要使用,(一般内部类的命名是由系统决定的,而且内部类的命名中使用到了$
  4. _一般用在一些特殊的变量上,用于标识其特殊性

更多推荐

Java 什么变量名是合法的呢?