2차원 배열이란
2차원 배열은 우리가 앞서 배웠던 1차원 배열에서 한 단계 업그레이드된 배열이다.
1차원 배열에서는 한줄에 원하는 값을 담았었는데, 2차원 배열은 그 줄을 겹겹이 쌓는 행렬의 구조를 가진다. 때문에 1차원 배열보다 인데스 좌표를 찾는데 다소 헷갈릴 수가 있다.
2차원 배열 선언 및 초기화
// 2차원 배열 선언
int[][] array;
// 2차원 배열 초기화
array = new int[2][5]; // 2행 5열을 가지는 2차원 배열 초기화
2차원 배열 선언과 초기화를 동시에 하는 방법
// 2차원 배열 선언과 동시에 초기화
int[][] array = new int[1][5]; //1행 5열을 가지는 2차원 배열
위와 같은 방식으로 2차원 배열을 선언, 초기화 하면 int형, 즉 정수형이기 때문에 기본값으로 0을 가지게 된다.
그렇다면 1차원 배열처럼 선언, 초기화와 동시에 값까지 세팅하는 방법은 없을까?
2차원 배열 선언과 초기화, 기본값 세팅까지 동시 하는 방법
//선언,초기화와 값세팅까지 한번에
//index 0 1 2 index
int[][] array = { {1, 2, 3}, // 0
{4, 5, 6} // 1
};
이렇게 2차원 배열을 선언하게 되면
array[0][0] = 1 array[0][1] = 2 array[0][2] = 3
array[1][0] = 4 array[1][1] = 5 array[1][2] = 6 의 값을 가지게 된다.
가변크기의 2차원 배열을 생성하는 방법
가변크기의 2차원 배열을 생성할때 행은 개수는 꼭 정해놓아야한다.
열의 개수는 추후에 생성 함으로서 가변적으로 크기를 정할 수 있다.
// 가변크기의 2차원 배열을 생성하는 방법
int[][] array = new int[3][];
//위와같이 선언하면 array는 3개의 행을 가지고, 행마다의 열은 아직 정해지지 않은 상태이다(= 가변크기 상태).
array[0] = new int[1]; //첫번째 행에 정수를 하나 담을 수 있는 열을 생성한다.
array[1] = new int[2]; //두번째 행에 정수를 두개 담을 수 있는 열을 생성한다.
array[2] = new int[3]; //세번째 행에 정수를 세개 담을 수 있는 열을 생성한다.
이렇게 2차원 배열을 선언하게 되면
array[0][0]
array[1][0] array[1][1]
array[2][0] array[2][1] array[2][2] 의 구조를 가지게 된다.
2차원 배열에서 행과 열의 개수를 알아내는 방법
행의 개수 알아내는 방법 : 참조변수명.length
열의 개수 알아내는 방법 : 참조변수명[행인덱스의 위치].length
2차원 배열 출력
public class Main {
public static void main(String[] args) {
int[][] array = { {1, 2, 3},
{4, 5, 6}
};
System.out.println(array[0][0]);
System.out.println(array[0][1]);
System.out.println(array[0][2]);
System.out.println(array[1][0]);
System.out.println(array[1][1]);
System.out.println(array[1][2]);
System.out.println("----------------------------------");
System.out.println(array.length); // 2차원 배열 행길이 출력
System.out.println(array[0].length); // 2차원 배열 0번째 인덱스 행의 열길이 출력
}
}
'프로그래밍 > Java' 카테고리의 다른 글
[Java]객체 배열 (0) | 2021.03.19 |
---|---|
[Java]클래스와 객체 (0) | 2021.03.17 |
[Java] 향상된 for문 (0) | 2021.03.12 |
[Java]배열 (0) | 2021.03.11 |
[Java]Method (0) | 2021.03.09 |