Java中的变量默认值

时间:2012-03-13 16:02:23

标签: java variables

Java中的每个类型在声明时都具有原始值。本文包含原始数据类型Primitive Data Types的说明。知道这一点,为什么Eclipse显示错误告诉我变量可能尚未初始化?如果我有例如

int x;
x++;

6 个答案:

答案 0 :(得分:15)

从链接

  

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

答案 1 :(得分:5)

来自Java Language Specification,Java SE 8 Edition,4.12.5 Initial Values of Variables

  

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

答案 2 :(得分:4)

本地变量未初始化。

这是一个局部变量:

void aaa() {
    int x;
}

这是一个实例变量。这些会自动初始化:

class X {
    int x;
}

答案 3 :(得分:1)

数据类型默认值(对于字段)

字节0

短0

int 0

长0L

浮动0.0f

双倍0.0d

char'u0000'

String(或任何对象)null

布尔值假

答案 4 :(得分:-1)

从您提供的原始数据类型链接: “局部变量略有不同;编译器永远不会为未初始化的局部变量赋予默认值。如果无法初始化声明它的局部变量,请确保在尝试使用它之前为其赋值。访问未初始化的本地变量变量将导致编译时错误“。

答案 5 :(得分:-4)

你看到的不是错误,而是你的日食偏好。您可以将其更改为忽略eclipse首选项中未初始化的变量。