본문 바로가기
Backend/Java

Java 17. 2차원 배열

by 샴페인맛있다 2024. 5. 10.

2차원 배열의 선언

선언하는 방법은 1차원 배열과 같음. 추가로 대괄호[ ]가 하나 더 들어감.

주로 테이블 형태의 데이터를 담는 데 사용.

int[][] score;		//타입[][] 변수이름;	
int score[][];		//타입 변수이름[][];	
int[] score[];		//타입[] 변수이름[];

2차원 배열의 인덱스

2차원 배열은 행(row)열(column)으로 구성.

따라서 index도 행과 열에 각각 하나씩 존재함.

각 요소에 접근하는 방법 = '배열이름[행index][열index]'

 

int[][] score = new int[3][4]; 와 같이 배열 score를 생성하면, (※아래 그림 참고)

score[0][0]부터 score[2][3] 까지 모두 12개의 int 값을 저장 할 수 있는 공간이 생성.

 


2차원 배열의 초기화

2차원 배열도 괄호{ }를 사용하여 생성과 초기화 가능.

 

① int[][] score = { {100, 90, 50, 60}, {20, 100, 70, 80}, {80, 10, 60, 30} }

② int[][] score = new int[][]{ {100, 90, 50, 60}, {20, 100, 70, 80}, {80, 10, 60, 30} };

 

보기 좋고 이해하기 쉽도록 다음과 같이 씀.

int[][] score = {

                      {100, 90, 50, 60},

                      {20, 100, 70, 80},

                      {80, 10, 60, 30}

                      };

 

위의 식은 아래 그림과 같이 '배열의 배열'로 구성되어 있음.

 

 

※ 위의 식을 이용하여 2차원 배열 score의 모든 요소의 합을 구하고 출력하는 예제

 

위의 예제를 그림으로 풀어보면,

배열 참조변수 score의 배열의 길이가 3이고, (score.length = 3)

배열 참조변수 score[0], score[1], score[2]이 참조하고 있는 배열의 길이가 각각 4.

(score[0].length = 4  ,  score[1].length = 4  ,  score[2].length = 4)


※ 위의 식을 이용하여 총점과 평균을 구하는 예제


※ 2차원 배열을 이용한 영단어를 보여주고 단어의 뜻을 맞추는 예제