在Java程序中,任何变量都必须经初始化后才能被使用。当一个对象被创建时,实例变量在分配存储器的同时被下列值初始化:
byte 0
short 0
int 0
long 0L
float 0.0f
double 0.0d
char '\u0000' (NULL)
boolean false
所有引用类型 null
在方法外定义的变量被自动初始化。局部变量必须在使用之前做“手工”初始化。如果编译器能够确认一个变量在初始化之前被使用的情况,编译器将报错。
public void doComputation() {
int x = (int) (Math.random() * 100);
int y;
int z;
if (x > 50) {
y = 9;
}
z = y + x; // 编译出错,有可能在未初始化之前使用变量
}