| 一維陣列使用陣列名稱與一個索引值來指定存取陣列元素,您也可以宣告二維陣列,二維陣列使用陣列名稱與兩個索引值來指定存取陣列元素,其宣告方式與一維
陣列類似: int[][] arr =
{{1, 2, 3},  {4, 5, 6}}; 從上面這個程式片段來看,就可以清楚的看出二維陣列的索引方式,您宣告了2列(Row)3行(Column)的陣列,您可以使用{ }與適當的斷行協助您指定陣列初值,下面這個程式簡單的示範二維陣列的存取: 
 public class TwoDimArray { 執行結果: 
 在使用二維陣列物件時,注意length所代表的長度,陣列名稱直接加上length,所指的是有幾列(Row),而使用索引加上length,指的是該列所擁有的元素,也就是行(Column)數目,要瞭解為何是這樣,必須從物件配置的角度來說明。 以物件的方式來配置一個二維陣列物件,您使用以下的語法: int[][] arr = new int[2][3];  上面這個程式片段中,您配置了2列3行的二維陣列物件,由於資料型態是int,所以陣列元素的預設元素為0,事實上這樣的語法是Java為了程式設計人員使用上的方便所設計的,來細究配置的細節。 在上面的程式片段中,其實arr[0]、arr[1]是兩個一維陣列物件,其長度為3,而arr的型態為int[][],內容值為arr[0]與arr[1],其關係如下:  從上圖中您可以看到,arr名稱參考至int[][]型態的物件,而arr[0]與arr[1]再分別參考至一個一維陣列物件,所以這也就是為何上面的程式中,使 用的length所表示的長度意義,您也可以知道,在Java中,一個二維陣列的配置,各個元素的記憶體位置並不是連續的。 同樣的道理,您也可以宣告三維以上的陣列,如果要宣告同時初始元素值,可以使用以下的語法: int[][][] arr = { {{1, 2, 3}, {4, 5, 6}}, {{7, 8, 9}, {10, 11, 12}} }; 上面這個程式片段所宣告的三維陣列是2x2x3,您將之想為兩面2x3二維陣列交疊在一起就是了,每一面的元素如下: 第一面 1 2 3 4 5 6 第二面 7 8 9 10 11 12 您也可以藉由立方體的(x, y, z)關係來標示三個索引值的關係,也就是列、行與高。 如果要動態宣告三維陣列,就使用以下的語法: int[][][] arr = new int[2][2][3];  多維以上的陣列在Java中也是可行的,但並不建議使用,使用多維陣列會讓元素索引的指定更加困難,此時適當的將資料加以分割,或是使用其它的資料結構來解決,會比直接宣告多維陣列來得實在。 由以上的說明,接下來討論一個進階議題:不規則陣列。陣列的維度不一定要是四四方方的,您也可以製作一個二維陣列,而每個維度的長度並不相同,例如: 
 public class TwoDimArray { 執行結果: 
 這個例子只是上面的說明之觀念延伸,在這個例子中,陣列第一列的長度是3,而第二列的長度是5。 |