2차원 배열 선언할때는 1차원 배열에 대괄호 [] 하나를 더 추가하면 된다.
int[][] array
int array[][]
int[] array[]
2차원 배열 생성도 마찬가지로 대괄호 하나 더 추가하면 된다.
int[][] array = new int[][];
중괄호를 사용해 초기화
int[][] array = {
{1, 2, 3},
{4, 5, 6}
};
선언 & 생성 이후 반복문으로 초기화
int[][] array = new int[2][3]; // 최초 선언
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
arr[i][j] = 0; // i, j 는 위 노란색 네모박스 안에있는 숫자를 의미하며 인덱스 라고 부릅니다.
}
}
2차원 배열을 생성할 때 열의 길이를 생략하여, 행마다 다른 길이의 배열 요소로 저장하는 방법
int[][] array = new int[3][];
// 배열 원소마다 각기다른 크기로 지정 가능합니다.
array[0] = new int[2];
array[1] = new int[4];
array[2] = new int[1];
// 중괄호 초기화할때도 원소배열들의 크기를 각기 다르게 생성 가능합니다.
int[][] array2 = {
{10, 20},
{10, 20, 30, 40},
{10}
};
가변 2차원 배열 조회
int[][] array = {
{10, 20, 30},
{10, 20, 30, 40},
{10, 20}
};
for (int i = 0; i < array.length; i++) { // 1차원 길이
for (int j = 0; j < array[i].length; j++) { // 2차원 길이
System.out.println(array[i][j]); // 2중 반복문으로 i, j 인덱스 순회
}
}
// 출력
10
20
30
10
20
30
40
10
20
2차원 배열 초기화 와 가변 2차원 배열 조회의 경우 이해가 되지 않아 추가적으로 찾아서 학습하여 개념 정리를 할 예정.