Java变量声明必须显式指定类型和名称,区分局部、实例、静态三类作用域,局部变量需先初始化后使用,命名须符合规范且见名知意。

Java 变量声明不是“写个名字就行”,而是明确告诉编译器:这里要存什么类型的数据、叫什么名字、在哪儿能用。搞不清这点,后续容易遇到编译报错、值为空、作用域混乱等问题。
变量声明必须带类型和名字
Java 是强类型语言,声明变量时类型不可省略。例如:
-
正确:
String name = "李四";、double price = 99.9; -
错误:
name = "李四";(没写类型)、var name = "李四";(var仅限局部变量且需初始化,不能用于成员变量或方法参数)
基本类型如 int、boolean 和引用类型如 String、ArrayList<String> 都要显式写出,这是编译检查数据安全的基础。
声明和初始化可以分开,但局部变量必须先赋值再使用
在方法内部定义的变量(局部变量)不提供默认值,未赋值就访问会直接编译失败:
立即学习“Java免费学习笔记(深入)”;
-
int count;→ 声明完成,但此时不能写System.out.println(count); -
count = 5;→ 赋值后才可安全使用 - 而实例变量(类里定义、不在方法内)有默认值:
int默认是0,boolean是false,Object类型是null
三类变量的作用域和生命周期差别很大
变量在哪声明、用什么修饰,直接决定它“活多久”“谁看得见”:
-
局部变量:写在方法/代码块里,只在当前
{}内有效,每次调用方法都会新建,用完即丢 - 实例变量:写在类里、方法外,每个对象一份,随对象创建而存在,随对象回收而消失
-
静态变量(类变量):用
static修饰,属于类本身,所有对象共享同一份,程序启动时加载,结束时卸载
命名要规范,别踩保留字和大小写坑
变量名不是随便起的,Java 有硬性规则:
- 不能是关键字,比如
int、class、public不能当变量名 - 区分大小写:
age和Age是两个不同变量 - 推荐用驼峰命名,见名知意:
studentScore比s清晰得多 - 避免下划线开头或纯数字结尾等非常规写法,影响可读性和工具支持


















