프로그래밍 언어/자바의 정석 기초편

자바의 정석 기초편 ch5-18~20 2차원 배열

life grow 2022. 6. 14. 22:13

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은 참조변수이다.