二次元配列は配列を表の形式にしたものです。Excelのようなな表形式のデータを扱う場合に使います。
次の図は4×5(4行5列)の配列のイメージです。配列名はAです。図にも示されているとおり、配列の個々の要素は配列名[行][列]と表記する。配列の表記を拡張した形式であることが分かる。
二次元配列の各要素を連続して参照するには二重ループを使うことになる。たとえば、4×5(要素数20個)の配列のすべての配列要素に1を代入するプログラムは次のようになる。
class Array2Init1 {
public static void main(String args[]){
int A[][] = new int[4][5];
int i, j;
for(i = 0; i < 4; i++){ // 行
for(j = 0; j < 5; j++){ // 列
A[i][j] = 1; // 配列要素に1を代入
}
}
// 二次元配列の各要素を表示
for(i = 0; i < 4; i++){
for(j = 0; j < 5; j++){
System.out.print("\tA[" + i + "][" + j + "]=" + A[i][j]);
}
System.out.println();
}
}
}
この例では外側のループが行数を、内側のループで列数をカウントしている。
二次元配列を使った九九の表を作りなさい。
それでは配列の各要素の値が以下のそれぞれの表に示す値になるようなプログラムを考えてください。配列の大きさは5×5(要素数25)とする。
| 1 | 2 | 3 | 4 | 5 |
| 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 |
| 1 | 6 | 11 | 16 | 21 |
| 2 | 7 | 12 | 17 | 22 |
| 3 | 8 | 13 | 18 | 23 |
| 4 | 9 | 14 | 19 | 24 |
| 5 | 10 | 15 | 20 | 25 |
| 1 | 2 | 3 | 4 | 5 |
| 10 | 9 | 8 | 7 | 6 |
| 11 | 12 | 13 | 14 | 15 |
| 20 | 19 | 18 | 17 | 16 |
| 21 | 22 | 23 | 24 | 25 |
| 1 | 2 | 3 | 4 | 5 |
| 16 | 17 | 18 | 19 | 6 |
| 15 | 24 | 25 | 20 | 7 |
| 14 | 23 | 22 | 21 | 8 |
| 13 | 12 | 11 | 10 | 9 |