Java で 2 次元配列を初期化する
今回は、Java で 2 次元配列を初期化する方法を学びます。2D 配列とは、1 次元配列の配列のことです。2 次元配列の要素は行列の形で行と列に配置されます。
new
キーワードと for
ループを使って 2 次元配列を Java で初期化する
以下のコードでは、char
配列 table
があり、この配列は new
キーワードを用いて宣言されています。2 次元配列 table
は 3 行 3 列です。
配列のすべての要素は、値を指定しない場合はデフォルト値を持ちます。int
型の 2 次元配列の場合、各要素にはデフォルト値の 0 が代入されます。ここでは char
型の 2 次元配列を用いているので、デフォルト値は null - \0
となります。
2 次元配列の各要素を繰り返し処理するには、入れ子になった for
ループを使用する必要があります。式 table[row].length
は列の数を表し、この場合は 3 列です。
式 '1' + row * 3 + col
は、行と列を 0 から 2 の間で変化させると、1 から 9 までの文字が得られます。この方法は、行と列の長さが 3 の場合にのみ機能します。
その後、以下のコードに示すように、2 次元配列の値を行列形式で出力します。
public class Array {
public static void main(String[] args) {
char[][] table = new char[3][3];
for (int row = 0; row < table.length; row++) {
for (int col = 0; col < table[row].length; col++) {
table[row][col] = (char) ('1' + row * 3 + col);
}
}
for (int row1 = 0; row1 < table.length; row1++) {
for (int col1 = 0; col1 < table[row1].length; col1++)
System.out.print(table[row1][col1] + " ");
System.out.println();
}
}
}
出力:
1 2 3
4 5 6
7 8 9
イニシャライザを使わずに Java で 2D 配列を初期化する
Java で 2 次元配列を宣言して初期化する最も一般的な方法は、配列イニシャライザを用いたショートカット構文を用いることです。ここでは、{{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}
を用いて、各行の初期化リストを中括弧で囲んでいます。
上の式は、3 行 3 列の 2 次元配列を持つことを説明しています。このようにして、1 行のコードで 2 次元配列を宣言し、初期化することができました。次に、以下に示すように、2 次元配列は入れ子になった for
ループを使って出力されます。
public class Array {
public static void main(String[] args) {
int[][] arr = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
for (int row = 0; row < 3; row++) {
for (int col = 0; col < 3; col++) System.out.print(arr[row][col] + " ");
System.out.println();
}
}
}
出力:
1 2 3
4 5 6
7 8 9
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn