天天看點

3.2 數組1 -【Java入門--瘋狂Java講義】

數組,是一種存儲多個資料的資料結構,可以了解成一個容器,這些存儲的值在記憶體中是連續存放的,我們可以通過下标(即索引)來查詢或者修改資料。在Java裡面,一個數組隻能存放一種類型的資料(即使是在後面的學習中存放了有繼承關系的不同類型的對象,數組的類型也是同一類,隻不過是父類的類型);在Java中,數組長度是不可變的。特别的,數組本身就是一種引用資料類型的資料。

定義數組:

類型[] 數組名;   (推薦)

類型 數組名[];

 一般推薦使用第一種,因為第一種 類型[] 是類型名,而第二種類型 是一種類型名,而 數組名[] 變成了數組名,例如:

int[] num;和int num[];兩種,後者很容易讓人誤解為資料類型是int型的。

數組的初始化:

//定義數組
int[] arr;
//靜态初始化
arr = new int[]{1,2,3,4,5};
//簡化的靜态初始化
arr = {1,2,3,4,5};
//動态初始化
int len = 5;//len代表數組長度
arr = new int[len];//輸出[0,0,0,0,0]
           

注意的一點,動态初始化的時候,系統再到會給數組項一個初始化的值,根據資料類型不同:

byte short int long     0

float  double     0.0

boolean     false

char  '\U0000'

引用資料類型  null

是以上面代碼我們沒有指派,都是由初始值的。 

使用數組:

int[] arr = new int[5];
//指派,注意索引要小于長度,不然會引發異常
arr[2] = 15;
//通路
int num = arr[2];
//for循環周遊
for(int i=0;i<arr.length;i++){
	System.out.println(arr[i]);
}
//foreach循環周遊
for(int x : arr){
	System.out.println(x);
}
           

數組的記憶體存放:

在數組中,存放的其實是裡面元素的位址,通過這個位址可以找到這個元素,這就相當于統計的家庭位址一樣,通過家庭位址可以找到家。

3.2 數組1 -【Java入門--瘋狂Java講義】

根據上圖就可以很好的了解這一點數組arr存放的是元素e1的位址,e1、e2以及後面的元素是連續存放的,因為是同一種資料格式,e1、e2這些的空間就可以通過下标很好的推算出來,舉個例子:

3.2 數組1 -【Java入門--瘋狂Java講義】

上面的圖,小明距離講台0.5米,而每張桌子之間0.5米,那麼小紅、小麗她們距離講台的距離也就可以知道了。