不确定Java中变量的默认初始化

Jim*_*Jim 2 java variables initialization

可能重复:
Java中未初始化的变量和成员
为什么本地变量未在Java中初始化?

Java变量中有默认值,对吧?偶数数组也由编译器初始化.
所以我无法理解以下内容:

int c;  
for(int i = 0; i < 10; i++){  
   c = i + 5;  
}  
System.out.println("Result = "+c);  
Run Code Online (Sandbox Code Playgroud)

为什么我会收到编译器错误:

局部变量c可能尚未初始化

编译器默认没有c初始化0
那么为什么我会得到这个错误,为什么如果我明确地做错误就会消失int c = 0

Jig*_*shi 6

不必初始化局部变量,类字段变量具有默认值

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