陣列概念

wen-210162704027發表於2024-07-29

陣列是程式語言中常見的一種資料結構,可以儲存多個資料,每個陣列元素存放一個資料,通常可以透過陣列元素的 索引來訪問陣列元素,包括賦值,取值,同時,java語言的陣列具有其特有的特徵。

​ 陣列也是一種型別。Java中的陣列要求所有的陣列元素具有相同的資料型別。因此在一個陣列中,陣列元素的型別是

唯一的,即一個陣列只能儲存一種資料型別的陣列。

​ Java的陣列即可以儲存基本型別的資料,也可以儲存引用型別的資料,只要陣列元素的型別統一即可。

​ 陣列也是一種資料型別,它本身是一種引用型別,例如int是一個基本型別,但int[]就是一種引用型別了。

​ 由於java語言物件導向的特徵,類與類之間支援繼承關係,所以陣列的陣列元素之間可以是父子關係,

但是該陣列的資料型別仍然是唯一的,指向陣列元素的最高父類,例如有一個水果陣列,要求每個元素是水果,但它陣列 元素可以是蘋果,也可以是香蕉,這是他們都繼承了fruit類,因此陣列元素的型別還是唯一的

陣列的定義

Java支援兩種語法格式定義陣列:

type[] arrayName;     //推薦這種方式,語義明確,可讀性強
type arryName[];      //早期使用,不推薦

​ 陣列是一種引用型別的變數,因此使用它定義變數時,僅僅定義了一個引用變數(也就是定義了一個空指標),

​ 還未指向任何有效的記憶體,因此定義陣列時不能指定陣列的長度,也不能被使用。

陣列的初始化

​ Java語言中陣列必須先初始化才能被使用。所謂初始化,就是為陣列的陣列元素分配記憶體空間,併為每個陣列元素

賦初始值。

​ 陣列的初始化有兩種方式:

靜態初始化

語法格式是:

arrayName=new type[]{element1,element2,element3,...};

//簡化格式如下
arrayName={element1,element2,element3,...};

靜態初始化時,顯式指定的資料型別必須與new關鍵字後面的type型別相同,或者是其子類型別。

動態初始化

動態初始化只指定陣列長度,由系統為每個陣列元素賦初始值,動態初始化語法格式如下:

arrayName=new type[length];

​ 執行動態初始化時,程式設計師只需指定陣列的長度,幾位每個陣列元素分配所需的記憶體空間,系統負責為這些陣列元素分配初始值。指定型別的規則如下:

  • ​ 陣列元素型別是基本型別的整數型別(byte,short,int,long),則指定初始值0;

  • ​ 陣列元素型別是基本型別的浮點型別(float,double),則指定初始值0.0;

  • ​ 陣列元素型別是基本型別的字元型別(char),則賦初始值'\u0000';

  • ​ 陣列元素型別是基本型別的布林型別(boolean),則賦初始值false;

  • ​ 陣列元素型別是引用型別(類,介面,陣列),則賦初始值null;

相關文章