Java中的局部变量是否具有默认值?

不,局部变量没有默认值。一旦创建了局部变量,我们必须在使用它之前对其进行初始化。

由于Java中的局部变量存储在JVM的堆栈中,因此有机会获得以前的值作为默认值。因此,在Java中,不允许使用局部变量的默认值。

示例

public class Sample {
   public static void main(String args[] ){
      int data;
      System.out.println(data);
   }
}

错误

C:\Sample>javac Sample.java
Sample.java:4: error: variable data might not have been initialized
   System.out.println(data);
                      ^
1 error