目录
一、默认初始值
二、本地变量
代码
运行结果
二、实例变量
代码
运行结果
三、本地变量和实例变量的区别
1.作用域
2.生命周期
3.初始化
一、默认初始值
数据类型 | 初始值 | 数据类型 | 初始值 |
byte | 0 | long | 0L |
char | ‘u0000’ | float | 0.0f |
short | 0 | double | 0.0 |
int | 0 | boolean | false |
引用 | null |
二、本地变量
必须初始化且不赋默认值
本地变量主要用于中间计算,开发人员需要自行分配值。为避免错误,需要初始化本地变量。
代码
public class Input {
public static void main(String[] agrs) {
int a;
System.out.println(a);
}
}
运行结果
二、实例变量
可不初始化且赋默认值
实例变量用于在未来和中间的计算中携带数据。Java不强制初始化实例变量并允许默认值。
代码
public class Input {
public static void main(String[] agrs) {
Cat cat = new Cat();
System.out.println("name = " + cat.name + '\n' + "age = " + cat.age);
}
}
class Cat {
String name;
int age;
}
运行结果
三、本地变量和实例变量的区别
Java实例变量和本地变量的区别在于它们的作用域和生命周期。
1.作用域
- 实例变量属于类对象,可以在整个类中使用(包括方法)。
- 本地变量只能在它们的方法中使用,并且只在方法被调用时存在。
2.生命周期
- 实例变量的生命周期与类对象的生命周期相同。当类对象被创建时,实例变量也被创建,当类对象被销毁时,实例变量也被销毁。
- 本地变量只在它们所在的方法被调用时才会被创建并分配内存,一旦方法调用结束,本地变量所分配的内存会自动释放。
3.初始化
- 实例变量可以自动初始化,当类对象被创建时,如果没有为实例变量指定初始值,Java会自动为实例变量指定默认值。
- 本地变量必须明确初始化赋值,否则编译器会报错。