각진 세상에 둥근 춤을 추자
[Java] 다차원 배열 본문
행 하나로만 이루어진 배열은 '1차원 배열'이다.
프로그램에서는 바둑이나 체스 게임, 네비게이션 지도 등을 구현하는 등 평면을 구하기 위해 2차원 배열을 사용하거나,
공간 개념을 구현하기 위해 3차원 배열을 사용하기도 한다.
(1) 2차원 배열
다음은 2행 3열의 2차원 배열을 선언하는 코드와 논리 구조이다.
arr [0][0] | arr [0][1] | arr [0][2] |
arr [1][0] | arr [1][1] | arr [1][2] |
2차원 배열을 초기화하려면 다음과 같이 행과 열 개수에 맞추어 {중괄호} 안에 콤아(,)로 구분해 값을 적는다.
이 내용을 코드로 구현해 본다.
package ch7_2;
public class TwoDimension {
public static void main(String[] args) {
int [][] arr = { {1,2,3}, {4,5,6} };
for (int i=0; i<arr.length; i++) {
for (int j=0; j<arr[i].length; j++) {
System.out.print(arr[i][j] + " ");
}
System.out.println(); // 행 출력 끝난 후 한 줄 띄움
}
}
}
추가로 2차원 배열의 각 행의 길이와 열의 길이를 출력해 본다.
package ch7_2;
public class TwoDimension {
public static void main(String[] args) {
int [][] arr = { {1,2,3}, {4,5,6} };
for (int i=0; i<arr.length; i++) {
for (int j=0; j<arr[i].length; j++) {
System.out.print(arr[i][j] + " ");
}
System.out.println(); // 행 출력 끝난 후 한 줄 띄움
}
System.out.println(arr.length); // 행의 길이
System.out.println(arr[0].length); // 열의 길이
}
}
(2) 3차원 배열
int [][][] arr = { {{},{},{}}, {{},{},{}}, {{},{},{}} };
//3차원 배열 (공간)
int[][][] arr3d = {{{1,2,3,},
{4,5,6,},
{7,8,9}},
{{10,11,12},
{13,14,15},
{16,17,18}},
{{19,20,21},
{22,23,24},
{25,26,27}}};
System.out.println();
for(int f=0; f<3; f++) {
for(int a=0; a<3; a++) {
for (int b=0; b<3; b++) {
System.out.printf("arr3d[%d][%d][%d]: %d\n", f,a,b, arr3d[f][a][b]);
}
}
}
'Java' 카테고리의 다른 글
[Java] ArrayList - 학생 성적 출력 프로그램 (0) | 2022.09.19 |
---|---|
[Java] ArrayList 클래스 사용하기 (0) | 2022.09.19 |
[Java] 향상된 for문 사용하기 (0) | 2022.09.19 |
[Java] 배열 복사하기 (0) | 2022.09.19 |
[Java] 객체 배열 (0) | 2022.09.18 |