Java 变量类型与命名规则
变量是内存中存放数据的「盒子」,有名字、有类型、有值。按声明位置不同,Java 变量分为局部变量、实例变量、静态变量与方法参数四类。
四类变量一览
| 变量类型 | 声明位置 | 生命周期 | 默认值 |
|---|---|---|---|
| 局部变量 | 方法或代码块内部 | 方法执行期间 | 无,必须初始化 |
| 实例变量 | 类内、方法外(无 static) | 随所属对象创建与销毁 | 有默认值 |
| 静态变量 | 类内、方法外(有 static) | 随类加载而存在,全局共享一份 | 有默认值 |
| 方法参数 | 方法名后面的括号里 | 方法调用期间 | 由调用方传入 |
综合示例
一个类里同时演示四类变量:
public class VarDemo {
int num = 5; // 实例变量:属于对象
static String tag = "静态"; // 静态变量:属于类
void test(int p) { // p 是方法参数
int local = p + 1; // 局部变量,必须初始化
System.out.println(local);
}
public static void main(String[] args) {
VarDemo d = new VarDemo();
System.out.println(d.num); // 输出:5
System.out.println(VarDemo.tag); // 输出:静态(类名直接访问)
d.test(10); // 输出:11
}
}
局部变量必须初始化
局部变量没有默认值,不赋值就使用会直接编译报错:
// 片段需放进 main 方法中运行
int a;
// System.out.println(a); // 编译错误:变量 a 可能尚未初始化
int b = 1;
System.out.println(b); // 输出:1
成员变量的默认值
实例变量与静态变量有默认值:数值型为 0、char 为 '\u0000'、boolean 为 false、引用类型为 null,因此未赋值的成员变量可以直接读取。
变量命名规范
- 小驼峰命名:变量名、方法名首字母小写,后续单词首字母大写,如
studentName、maxScore。 - 大驼峰命名:类名每个单词首字母大写,如
HelloWorld。 - 见名知意:用表达含义的英文单词,避免 a、b、x 这类无意义的名字。
- 常量全大写:常量(static final)全部大写、单词间用下划线,如
MAX_VALUE。 - 参数命名同样用小驼峰;包名全部小写,如
com.example.demo。
有效与非法命名示例
| 合法 | 非法 | 原因 |
|---|---|---|
| name、age | 1name | 不能以数字开头 |
| _temp、$price | my name | 不能包含空格 |
| userName | class | 关键字不可用 |
| MAX_SIZE | 张三 | 中文虽能编译,但不规范 |
变量按位置分为局部/实例/静态/参数四类,默认值与生命周期各不相同;命名遵守驼峰与见名知意,代码就像好文章一样易读。