Java 中的变量缺省值
Java 中的每个类型在声明时都有一个基元值。文章基元数据类型包含基元数据类型的说明。知道了这一点,为什么Eclipse显示一个错误,告诉我变量可能尚未初始化?
例如,如果我有,
int x;
x++;
Java 中的每个类型在声明时都有一个基元值。文章基元数据类型包含基元数据类型的说明。知道了这一点,为什么Eclipse显示一个错误,告诉我变量可能尚未初始化?
例如,如果我有,
int x;
x++;
从参考:
局部变量略有不同;编译器从不将默认值分配给未初始化的局部变量。如果无法在声明局部变量的位置初始化局部变量,请确保在尝试使用它之前为其赋值。访问未初始化的局部变量将导致编译时错误。
来自 Java 语言规范,Java SE 8 版,4.12.5 变量的初始值:
局部变量 (§14.4, §14.14) 在使用之前,必须通过初始化 (§14.4) 或赋值 (§15.26) 显式为其指定一个值,其方式可以使用定赋值规则(§16(定赋值))进行验证。