局部变量没有默认值。一旦创建了一个局部变量,必须在使用它之前初始化它。由于Java中的局部变量存储在JVM的堆栈中,所以有可能得到以前的值作为默认值。因此,在Java中,局部变量的默认值是不允许的。

例子

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

运行错误:

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