21xrx.com
2024-12-22 22:33:16 Sunday
登录
文章检索 我的文章 写文章
Java数组未初始化时的输出结果及解决方法
2023-06-18 04:45:48 深夜i     --     --
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]); 

   }

  }

}

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

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复