如果一維數組的各個元素仍然是一個數組,那么它就是一個二維數組。二維數組常用於表示表,表中的信息以行和列的形式組織,第一個下標代表元素所在的行,第二個下標代表所在的列。
一、二維數組的創建
1、先聲明,再用 new 運算符進行內存分配
聲明語法格式:
數組元素的類型 數組名字[][];
數組元素的類型[][] 數組名字;
分配內存語法:
數組名字 = new 數組類型[][]
a = new int[2][4]; // 直接給每一維分配內存空間
b = new int[2][]; //分別為每一維分配內存,這種方式列可省,行不可省
a[0] = new int[2];
a[1] = new int[3];
2、聲明的同時為數組分配內存
數組元素的類型 數組名字[][] = new 數組元素的類型[][]
二、二維數組的初始化
二維數組的初始化與一位數組初始化類似,同樣使用大括號完成。
語法格式:
type arrayname[][] = {{value1,value2},{value1,value2}}
-
- type:數組數據類型;
- arrayname:數組名稱,一個合法的標識符;
- value:數組中各元素的值。
三、使用二維數組
使用二維數組常見的就是遍歷數組,介紹兩種遍歷數組的方法。
先來學習一下各種表示方法:
表示二維數組的行數: 二維數組名.length
表示一行: 二維數組名[行下標] (行下標的范圍:[0,二維數組總行數 - 1])
表示每一行的列數: 二維數組名[行下標].length
表示具體的一個數據: 二維數組名[行下標][列下標] (列下標的范圍:[0,該行總列數 - 1])
1、使用 for 循環遍歷
2、使用 foreach 循環遍歷
下面的案例詳細介紹兩種方式:
1 int array[][] = new int[3][4]; //創建一個3行4列的數組,並且里面值都為默認值 2 // 使用 for 循環
3 for(int i=0;i<array.length;i++) { // 第一個循環,循環每一行 4 for (int j=0;j<array[i].length;j++) { //第二個循環,循環每行的每一列 5 System.out.print(array[i][j]); 6 } 7 System.out.println(); 8 } 9 // 使用 foreach
10for(int a[]: array) { // 第一個循環,第一個參數代表循環中的類型,即數組,第二個參數為循環對象 11 for(int j: a) { // 循環上一個循環中的第一個參數中的每一個即可 12 System.out.print(j); 13 } 14 System.out.println(); 15}