21xrx.com
2025-03-23 18:17:16 Sunday
文章检索 我的文章 写文章
Java数组未初始化时的输出结果及解决方法
2023-06-18 04:45:48 深夜i     15     0
Java数组 初始化 未定义 长度为0 NullPointerException

在Java中,如果一个数组没有被初始化就被使用,会导致程序抛出异常。但是,这个异常的表现方式却不尽相同,取决于不同的情况。

当数组被定义但没有被初始化时,它的每一个元素都将会被默认初始化。对于int类型的数组,元素的默认值为0;对于boolean类型的数组,元素的默认值为false。

代码示例:

public class UninitializedArray {
  public static void main(String[] args) {
    int[] intArray = new int[3];
    boolean[] boolArray = new boolean[3];
    String[] strArray = new String[3];
    System.out.println(intArray[0]); // 输出 0
    System.out.println(boolArray[0]); // 输出 false
    System.out.println(strArray[0]); // 输出 null
  }
}

当数组未被定义时,将无法编译并且抛出异常。

代码示例:

public class UninitializedArray {
  public static void main(String[] args) {
   int[] intArray;
   System.out.println(intArray[0]);  // 抛出 NullPointerException
  }
}

当数组长度为0时,可以被正常访问,但是不能使用任何下标。

代码示例:

public class UninitializedArray {
  public static void main(String[] args) {
   int[] intArray = new int[0];
   System.out.println(intArray.length);  // 输出 0
   for (int i = 0; i < intArray.length; i++) { // 不会执行,因为长度为0
     System.out.println(intArray[i]); 
   }
  }
}

要避免这些问题,我们应该始终在使用数组之前将其初始化。

  
  

评论区

请求出错了