자바 (Java)/요약

Chpt. 5 배열 - 주제 2. 2차원 배열은 배열의 배열이다.

학듄 2023. 10. 21. 20:27
728x90

테이블 형태의 데이터를 저장하기 위해서 2차원 배열이 필요하다.

 

1. 2차원 배열의 선언과 생성 그리고 초기화

 

1) 2차원 배열의 선언과 생성

1차원 배열에 아무 곳에 []를 추가해주면 2차원 배열이 된다. 따라서 다음과 같은 형태로 2차원 배열을 선언할 수 있다. 참고로 []을 하나 추가할 때마다 차원이 증가하게 된다.

 

(1) 타입[][] 변수 이름; [예] int[][] 2dArr

(2) 타입[] 변수 이름[];  [예] int 2dArr[]

(3) 타입 변수 이름[][];  [예] int 2dArr[][]

 

보통 (1)과 같은 형태로 선언한다.

 

그리고 다음과 같은 형태로 2차원 배열을 생성할 수 있다.

 

타입[][] 변수 이름 = new 타입[행 길이][열 길이];

 

int[][] engScores = new int[3][2];를 실행하면 다음 [그림1] 과 같은 배열이 선언 후 생성된다.

 

[그림1]

노란색으로 강조된 부분을 보면 주제의 제목처럼 왜 2차원 배열이 배열의 배열인가를 알 수 있다. 기존 1차원 배열의 인덱스와 마찬가지로 2차원 배열의 인덱스는 0부터 각각 (열 또는 행의 길이) -1이다. 또한 변수[행 인덱스][열 인덱스]를 통해 2차원 배열 요소에 접근할 수 있다. 

 

2) 2차원 배열의 초기화

2차원 배열의 초기화는 1차원 배열을 초기화하는 방법과 같지만 {}를 추가해 행별로 구분해준다.

 

int[][] engScore = {

                                      {100, 95},

                                      {98, 76},

                                      {100, 52}, // , 생략 가능

                            };

 

한 줄에 쓸 수도 있지만 가독성을 위해 위와 같이 쓰도록 하자.

 

2.  2차원 배열의 출력

2차원 배열을 출력하기 위해서는 중첩 for문을 사용하거나 Arrays.deepToString(배열 변수)을 출력하는 방법을 사용한다.                       

반응형