嗨,我有以下代码。当我使用实例变量,我得到如下输出(默认值)java中的默认值
int value: 0
float value: 0.0
String value: null
Static int value: 0
但如果我尝试声明局部变量,并打印它给一个错误,该变量应该被初始化为默认值。任何人都可以解释我的理由吗?
public class DefaultValues {
int a;
float b;
String c;
static int d;
public static void main(String[] args) {
int e; // <----
DefaultValues dv = new DefaultValues();
System.out.println("int value: "+dv.a);
System.out.println("float value: "+dv.b);
System.out.println("String value: "+dv.c);
System.out.println("Static int value: "+d);
System.out.println("local int value: "+e); // <----
}
}
局部变量没有默认值。它们必须在使用前初始化。 –