자바의 정석 가자!

Chapter5 - 18 ~ 23 2차원 배열, 2차원 배열 예제

'쪼리' 2022. 10. 20. 11:02

ch5-18 2차원 배열

테이블 형태의 데이터를 저장하기 위한 배열

 

int [ ] [ ] score = new int [4][3]     // 4행 3열의 2차원 배열을 생성한다.

 

ch5-19 2차원 배열의 인덱스

score [0][0] = 100;  // 배열 score의 1행 1열에 100을 저장 

 

ch5-20 2차원 배열의 초기화

int [ ] [ ] arr = {

                           {1, 2, 3},

                           {4, 5, 6}

                      };

(2차원 배열의 생성과 초기화 동시에)

 

생성되는 배경

참조변수의 이름이 score[0], score[1], scroe[2]

{100, 100, 100} -> score[0]

{20, 20, 20} -> score[1]

{30, 30, 30} -> score[2]

{40, 40, 40} -> score[3]

 

우측에 있는 4 * 3 이 실제 저장공간.   옆에는 참조변수!

2차원 배열 = 1차원 배열의 배열이다. 

 

ch5-21 2차원 배열 예제

을 그림을 그리면 밑에 사진과 같다.

score.length란?  ->  배열 score의 길이

배열 score란 ?  -> 참조변수 score가 가리키는 배열

ex) score[0].length는 score[0]이 가리키는 배열의 길이 : 100, 100, 100 이 있는 배열 따라서 길이 3

 

* score.length : 몇 행이냐

4행 * 3열이니까 길이는 4

 

** 2차원 배열 다룰 때 이중 for문 알아두기 **

 

예제

스캐너로 입력받기

<나만의 정리>

이해가 안 가면 이중for문 안에 다 찍어서 출력해보기 -> 이해 완료

 

기억할 것!

만약 

int jjori [ ] [ ] = {

         {100,100,100},

         {200,200,200}

   };

 

배열이 2*3 , 2행3열이니까는,

jjori.length 는 2가 되고 // 행 값

jjori[i].length는 3이 된다. // 열 값