【Java】二維數組元素的默認初始化值總結

二維數組元素的默認初始化值(以動態初始化爲例說明)

約定:對於二維數組來說,分爲外層元素(比如:arr[0])和內層元素(比如:arr[0][1])

  • 情況1:比如:int arr = new int[4][3];

  1. 外層元素默認存儲的是:數組的類型和地址值
  2. 內層元素,跟一維數組的元素的默認值是一致的。
  3. 整型的數組:byte\short\int\long 型數組的元素的默認值爲: 0
  4. 浮點型的數組:float\double 型數組的元素的默認值爲:0.0

  5. 布爾型的數組:boolean 型數組的元素的默認值爲:false

  6. 字符型的數組:char 型數組的元素的默認值爲:0或\u0000

  7. 引用數據類型的數組:數組的元素的默認值爲:null

  • 情況2:比如:int arr =new int[4][ ];

  1. 外層元素的默認值爲:null

  2. 內層元素:本身不存在。如果輸出的話,報錯,異常爲:java.lang.NullPointerException

測試結果:

int[] arr = new int[10];
sysout(arr);//[I@堆空間中數組結構的首地址值
sysout(arr[0]);//0

int[][] arr1 = new int[10][5];
sysout(arr1);//[[I@堆空間中數組結構的首地址值
sysout(arr1[0]);//[I@堆空間中數組結構的首地址值
sysout(arr1[0][1]);//0
sysout(arr1[0][5]);//ArrayIndexOutOfBoundsException

int[][] arr2 = new int[10][];
sysout(arr2);//[[I@堆空間中數組結構的首地址值
sysout(arr2[0]);//null
sysout(arr2[0][1]);//NullPointerException
sysout(arr2[0][5]);//NullPointerException

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章