자바의 정석 기초편 ch5-18~20 2차원 배열
5-18 2차원 배열
테이블 형태의 데이터를 저장하기 위한 배열
2차원 배열: 1차원 배열이 여러개 모인 것
3차원 배열: 2차원 배열이 여러개 모인 것
2차원 배열 선언 및 생성
int[][] score = new int[4][3]; //4행 3열의 2차원 배열 score를 생성한다.
이 데이터를 저장하려면 몇 개의 데이터가 필요할까??
12개의 저장공간이 필요하다.
5-19 2차원 배열의 인덱스
열 인덱스: 0~열의 길이-1
행 인덱스: 0~행의 길이-1
2차원 배열 score의 1행 1열의 인덱스는?
score[0][0]
2차원 배열에는 인덱스를 두개 사용한다.
5-20 2차원 배열의 초기화
보기 편하게 이렇게 초기화하자
int[][] arr = {
{1, 2, 3},
{4, 5, 6}
};
2차원 배열: 1차원 배열의 배열
1차원 배열들 여러개를 이 배열들의 참조변수를
또 하나의 배열로 묶은 것이다.
참조변수 score가 가르키는 배열은
score[0], score[1], score[2], score[3]이다.
score[0](참조변수의 이름)의 배열만 보면
score[0]의 첫번째 요소는 score[0][0] (빨간색 부분: 배열의 이름)
int[][] score = {
{100, 100, 100},
{20, 20, 20},
{30, 30, 30},
{40, 40, 40},
};
에서 {100, 100, 100}, 이 한 줄은
1차원 배열이고, 이 배열의 이름은 score[0]
{20, 20, 20},는 1차원 배열이고, 배열의 이름은 score[1]
2차원 배열의 생성하면 아래처럼 그림이 그려진다.
실제 저장공간은 12개 score[0][0]~score[3][2]
0x200, 0x300, 0x400, 0x500은 참조변수이다.