數組及其在內存中的分配
原創
zxueb
2018-10-14 02:22
1.一維數組
- 數組概念:數組是儲存同一種數據類型多個元素的集合。也可以看成是一個容器。它既可以存儲基本數據類型,也可以存儲引用數據類型(後面介紹)。
- 定義格式1: 數據類型[] 數組名;
格式2: 數據類型 數組名[];
- 數組的初始化動態初始化
數組的初始化:數組必須先初始化,然後才能使用,就是爲數組中的數組元素分配內存空間,併爲每個數組元素賦值
初始化分類:
(1)動態初始化:只指定長度,由系統給出初始化值;
(2)靜態初始化:給出初始化值,由系統決定長度。
注意:這兩種方式只能用一種,不能進行動靜結合。
動態初始化格式:
數據類型[] 數組名 = new 數據類型[數組長度];
數組長度其實就是數組中元素的個數。
2.二維數組
- 格式1:數據類型[][] 變量名 = new 數據類型[m][n];
m表示這個二維數組有多少個一維數組,n表示每一個一維數組的元素個數。
以下格式也可以表示二維數組(不推薦使用)
a.數據類型 數組名[][] = new 數據類型[m] [n];
b.數據類型[] 數組名[] = new 數據類型[m] [n];
格式2:數據類型[] [] 變量名 = new 數據類型[m] [];
格式3:數據類型[] [] 變量名 = new 數據類型[] []{{元素···},{元素···}....}
3.數組在內存中的分配
- 棧:存放局部變量
局部變量:在方法定義中或者方法聲明上的變量。
- 堆:存放的是所用new出來的東西
特點:(1)每一個new出來的東西都會爲其分配一個地址值;
(2)每一個變量都有一個默認的值
byte,short,int,long--0
float,double---0.0
char--‘\u0000’
boolean--false
引用數據類型--null
(3)使用完畢就變成了垃圾,等待垃圾回收器對其回收。
- 方法區
- 本地方法區(和系統有關)
- 寄存器(CPU使用)