public class Main {
public static void main(String[] args) {
int[][] arr = new int[2][3];
System.out.println(arr.length); // 2 -> 배열 속의 배열자체를 하나의 요소로 가지고 있기 때문에 길이는 2이다.
// 초기화: 1부터 6까지 값을 넣어보자.
int k = 1;
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
arr[i][j] = k;
k++;
}
}
// 행 별로 출력하기
for (int[] iArr : arr) {
for (int j : iArr) {
System.out.print(j);
}
System.out.println();
}
// 123
// 456
// 2차원 배열 선언과 동시에 초기화하기
int[][] intArr = {
{1, 2, 3},
{4, 5, 6}
};
}
}
가변 배열
다차원 배열을 생성할 때 열의 길이를 명시하지 않음으로써, 행마다 다른 길이의 배열을 요소로 저장할 수 있습니다.
public class Main {
public static void main(String[] args) {
int[][] arr = new int[3][]; // 열의 길이를 명시하지 않음.
arr[0] = new int[2]; // arr 0번 요소에 길이가 2인 배열 생성
arr[1] = new int[4]; // arr 1번 요소에 길이가 4인 배열 생성
arr[2] = new int[1]; // arr 2번 요소에 길이가 1인 배열 생성
// 선언과 동시에 초기화 가능 (위 배열구조와 똑같이 해보기)
int[][] arr2 = new int[][] {
{0, 1},
{0, 1, 2, 3},
{0}
};
// arr2 출력해보기
for (int i = 0; i < arr2.length; i++) {
for (int j = 0; j < arr2[i].length; j++) {
System.out.print(j);
}
System.out.println();
}
// 01
// 0123
// 0
}
}