1. 程式人生 > >Java之路:陣列

Java之路:陣列

陣列

陣列,顧名思義,即是一組資料,是有序資料的集合,陣列中的每個元素必須是相同的資料型別,可以用統一的陣列名和下標來唯一地確定陣列中的元素。從本質上說,它是儲存資料的一個容器。

在Java中,陣列也可以視為一種資料型別,它本身是一種引用型別。

引用型別(reference type),引用型別的變數非常類似於C/C++的指標。而指標變數放到Java中便是引用型別變數。
【定義】

資料型別[] 陣列名;	// 定義一個數組,推薦使用這種方法
資料型別 陣列名[];	// 定義一個數組,不推薦使用
// 例如:
int[] arr1;
int arr2[];

以上兩種形式沒有區別,使用效果完全一樣。

與C、C++不同,Java在定義陣列時並不為陣列元素分配記憶體,因此[ ]中無需指定陣列元素的個數,即陣列長度,否則會報錯。
而且對於如上定義的一個數組是不能訪問它的任何元素的,我們必須要為它分配記憶體空間。
【初始化】

// 靜態初始化
int[] arr1 = {0, 1, 2, 3};
// 動態初始化
int[] arr2 = new int[3];
arr2[0] = 11;
arr2[1] = 22;
arr2[3] = 33;
// 或
// 靜態初始化
int arr3[] = {0, 1, 2, 3};
// 動態初始化
int arr4[] = new int[3];

【二維陣列】

資料型別[
][] 陣列名; 資料型別 陣列名[][]; 資料型別[] 陣列名[]; // 例如: int[][] a; int b[][]; int[] c[]; a = new int[3][4]; b = new int[3][4]; c = new int[3][4];


Java在定義二維陣列時更加靈活,允許二維陣列中每行的元素個數均不相同。例如:

int[][] num = {
{1,2,3,4,5},
{1,2,3},
{1,2,3,4,5,6,7,8,9}
}
// num[0] 表示第0行
// num.length 表示陣列的行數,3
// num[0].length 表示陣列第一行的元素個數,5