局部变量是定义在方法、构造器或代码块内的变量,作用域限于声明处到对应右大括号,不可用static等修饰,无默认值须显式初始化,每次调用重新创建并自动销毁。
局部变量是定义在方法、构造器或代码块内部的变量,它的作用域仅限于定义它的那个结构内,出了这个范围就无法访问。
它从声明的位置开始生效,到所在代码块的右大括号 } 结束。比如在 if 语句里定义的变量,只在该 if 块里有效;在 for 循环里定义的,出了循环就不能用了。
等修饰符修饰成员变量(也叫字段)属于类或对象,在类体中定义,有默认值(如 int 是 0,引用类型是 null),能被整个类的方法访问。而局部变量完全独立,哪怕名字和成员变量一样,也只是“遮蔽”了它,并不影响成员变量本身。
例如:
void test() {
int x = 10;
System.out.println(x); // 正确
}
System.out.println(x); // 编译错误:找不到符号 x
基本上就这些。理解局部变量的关键是盯住“花括号范围”和“必须初始化”,不复杂但容易忽略。