首頁 > 其他

Java基礎[7]:陣列之如何使用二維陣列

2019-12-11 05:09:20

之前我們已經學習了一維陣列的使用。這裡提到的是二維陣列。因為陣列只能儲存一行資料。在平時生活中,比如坐標等等,我們需要表示用二維的陣列來表示。通過行號和列號來定位資料。下面,讓我們開始學習吧


1

二維陣列,也可以理解為用一維陣列儲存的元素為一維陣列。對於三維陣列,等等,都可以這樣劃分。不過我們在程式設計中使用三維以上的陣列比較少。因為那樣使用起來非常不方便。下面我們來學習二維陣列的宣告。其宣告同一位陣列一樣,可以先宣告再分配記憶體,也可以宣告時分配記憶體

2

第一種,先宣告再分配記憶體的方式陣列宣告: ? 資料型別 陣列名[][];記憶體分配: ? 陣列名 = new 資料型別[行的個數][列的個數];舉例: ? 假如我們需要統計一個象棋上放的是黑棋還是白棋。這時,我們可以建立一個坐標,即以象棋盤的兩邊建立坐標軸。這時,我們可以這樣定義這個二維陣列:宣告陣列: ?int Chess[][];記憶體分配 ? ?Chess= new int[64][64];

3

第二種,即宣告時即分配記憶體的方式。使用格式是: 資料型別 陣列名[][] =new ?資料型別 [行的個數][列的個數];使用上個步驟中的例子,我們可以將陣列的宣告和分配記憶體寫成以下方式:宣告即分配記憶體:int Chess[][] = new int[64][64];

1

二維陣列的賦值,同一維陣列類似。只是在{}中的每個元素又是每個一維陣列。如下格式:資料型別 資料名[][]={? ?{值1,值2,值3,值4 }, ? ?//第一行資料? ?{值5,值6,值7,值8}, ? ? //第二行資料? ? ..., ? ? ? ? ? ? ? ? ? ? ?}二維陣列中,可以有列數不相等的陣列。即每一行的列數不同時。我們需要對每一行進行賦值。

2

對於這兩種二維陣列。我們分別來進行分別舉例進行賦值。第一種是:列數相同的陣列其賦值格式如下:String ? ClassRoom[][]={? ?{"小王","小李","小張"},???{"小紅","小明","小花"},}即第一行的人數和第二行的人數相同。

3

第二種:即列數不相等的陣列的賦值格式如下:String ? ClassRoom[][]={? ?{"小王","小李","小張"},???{"小紅","小明","小花"},? ?{"小雨","小風","小平","小雷"},? ?{"小單"}}看上述例子。對於不同的行,其相應的列數是不同的。

1

二維陣列元元素的存取及輸出同一維陣列一樣,只是多了一個下標而已。在迴圈輸出時,需要裡面再內嵌一個迴圈,即雙重回圈來輸出二維陣列中的每一個元素。下面,我們來展示一個例子,把上面學過的知識來一塊使用。這裡使用列數不相等的二維陣列:

例子是輸出二維陣列中的每一行的數位。



IT145.com E-mail:sddin#qq.com