Java 中的变量缺省值

2022-09-03 17:45:31

Java 中的每个类型在声明时都有一个基元值。文章基元数据类型包含基元数据类型的说明。知道了这一点,为什么Eclipse显示一个错误,告诉我变量可能尚未初始化?

例如,如果我有,

int x;
x++;

答案 1

从参考:

局部变量略有不同;编译器从不将默认值分配给未初始化的局部变量。如果无法在声明局部变量的位置初始化局部变量,请确保在尝试使用它之前为其赋值。访问未初始化的局部变量将导致编译时错误。


答案 2

来自 Java 语言规范,Java SE 8 版,4.12.5 变量的初始值

局部变量 (§14.4, §14.14) 在使用之前,必须通过初始化 (§14.4) 或赋值 (§15.26) 显式为其指定一个值,其方式可以使用定赋值规则(§16(定赋值))进行验证。