2차원 배열의 선언과 인덱스
2차원 배열의 선언과 생성
// 타입[][] 변수이름;
int[][] score;
//타입 변수이름[][];
int score[][];
//타입[] 변수이름[];
int[] score[];
// 4행 3열의 2차원 배열 선언 및 생성
int[][] score = new int[4][3];
Java
2차원 배열의 인덱스
•
각 배열 요소에 접근 방법 : 배열이름[행index][열index]
int[][] score = new int[4][3];
score[0][0] = 100; // 배열 score의 1행 1열에 100 저장
System.out.println(score[0][0]); // 배열 score의 1행 1열의 값을 출력
Java
2차원 배열의 초기화
•
괄호 { }를 사용해 생성과 동시에 초기화 가능
int[][] arr = new int[][] { {1, 2, 3}, {4, 5, 6} };
int[][] arr = { {1, 2, 3}, {4, 5, 6} };
// 가능한 간단한 배열도 줄바꿈해주는 것이 보기 좋음.
int[][] arr = {
{1, 2, 3},
{4, 5, 6}
};
Java
•
for 문을 이용한 2차원 배열 초기화
int[][] score = {
{100, 100, 100},
{20, 20, 20},
{30, 30, 30},
{40, 40, 40},
{50, 50, 50}
};
for (int i=0; i < score.length; i++) {
for (int j=0; j < score[i].length; j++) {
score[i][j] = 10;
}
}
Java
ArrayEx16.java
ArrayEx17.java
가변 배열
•
Java에서 2차원 이상의 배열은 '배열의 배열'의 형태로 처리
•
다차원 배열 생성 시, 마지막 차수의 길이를 지정하지 않고 추후 개별적으로 지정 가능
int[][] score = new int[5][];
socre[0] = new int[4];
socre[1] = new int[3];
socre[2] = new int[2];
socre[3] = new int[2];
socre[4] = new int[3];
// 생성과 동시에 초기화도 가능
int[][] score = {
{100, 100, 100, 100},
{20, 20, 20},
{30, 30},
{40, 40},
{50, 50, 50}
};
Java
다차원 배열의 활용
MultiArrEx1.java : 입력한 2차원 좌표의 위치에 O 또는 X 표시하기
MultiArrEx2.java : 숫자 빙고
MultiArrEx3.java : 행렬의 곱셈
MultiArrEx4.java : 단어 맞추기