java二维数组 内存分配_java中二维数组内存分配
區(qū)分三種初始化方式:
格式一:
數(shù)據(jù)類型[][] 數(shù)組名 = new 數(shù)據(jù)類型[m][n];
m:表示這個二維數(shù)組有多少個一維數(shù)組。
n:表示每一個一維數(shù)組的元素有多少個。
//例:int arr[][]=new int[3][2];
如下圖
格式二:
數(shù)據(jù)類型[][] 數(shù)組名 = new 數(shù)據(jù)類型[m][];
m:表示這個二維數(shù)組有多少個一維數(shù)組。
列數(shù)沒有給出,可以動態(tài)的給。這一次是一個變化的列數(shù)。
如下圖
格式三:
基本格式:
數(shù)據(jù)類型[][] 數(shù)組名 = new 數(shù)據(jù)類型[][]{{元素1,元素2...},{元素1,元素2...},{元素1,元素2...}};
簡化版格式:
數(shù)據(jù)類型[][] 數(shù)組名 = {{元素1,元素2...},{元素1,元素2...},{元素1,元素2...}};
如下圖:
內(nèi)存分配詳解:
引用類型的默認值為null,定義二維數(shù)組時,會在堆內(nèi)存為其分配內(nèi)存空間(必須知道二維數(shù)組的行數(shù),即一維數(shù)組的個數(shù),才能夠為其分配內(nèi)存空間),首先給一個地址值0x001給arr,然后為二維數(shù)組里的一維數(shù)組分配內(nèi)存空間,分別給一個地址值給一維數(shù)組,即0x0001給arr[0],0x0002給arr[1],0x0003給arr[2]。如果arr[3][]第二個元素值沒有給出(相當于里面的一維數(shù)組的元素個數(shù)不知道),即以格式2定義二維數(shù)組,那么就無法為一維數(shù)組靜態(tài)的分配內(nèi)存空間了,即打印出來的arr[0],arr[1],arr[2]地址值是默認值null,可以動態(tài)的為其分配內(nèi)存空間。
總結
以上是生活随笔為你收集整理的java二维数组 内存分配_java中二维数组内存分配的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java holder_java.sql
- 下一篇: 实时获取滚动条的高度_适用于星上快速处理