- 지금까지 배운 배열을 모두 하나의 행으로 일차원 배열입니다.
- 수학적으로 x축만 사용했다고 볼 수 있습니다.
- 하지만 x축과 y축을 둘 다 사용하면 경우도 많이 있겠죠?
- 예를 들어 바둑, 체스 게임 등을 구현할 때 이런 이차원 배열을 많이 활용합니다.
- 삼차원 이상의 배열도 가능합니다. 주로 공간을 나타내는 프로그램에서 사용합니다.
- 우리는 간단하게 이차원 배열까지만 이번 강좌에서 보도록 하겠습니다.
1. 이차원 배열
- 보통 배열을 기차 같다고 합니다.
- 일차원 배열을 쭉 하나의 행으로 나열되기 때문입니다.
arr[0] | arr[1] | arr[2] | arr[3] | arr[4] | arr[5] | arr[6] | arr[7] | arr[8] | arr[9] |
- 이차원 배열을 표와 같다고 보면 됩니다.
- 대신 코드를 입력할 때도 [] 대괄호를 두 개를 사용합니다.
## 이차원 배열 문법
자료형[][] 배열명 = new 자료형[][];
- 대입연산자를 기준으로 오른쪽의 첫 번째 대괄호가 행의 개수, 두 번째 대괄호가 열의 개수입니다.
- 예를 들어 아래와 같이 2행 3열짜리 이차원 배열을 선언했다고 보겠습니다.
int[][] arr = new int[2][3];
arr[0][0] | arr[0][1] | arr[0][2] |
arr[1][0] | arr[1][1] | arr[1][2] |
- 이런 식으로 처리된다고 보면 됩니다.
1) 이차원 배열 선언과 초기화
- 그럼 간단하게 이차원 배열을 선언하고 값을 바로 초기화해 보겠습니다.
## Ex16_TwoDimensions.java - 코드
package ch18_array;
public class Ex16_TwoDimensions {
public static void main(String[] args) {
//선언 후
int[][] nums01 = new int[2][3];
//값할당
nums01[0][0] = 1;
nums01[0][1] = 2;
nums01[0][2] = 3;
nums01[1][0] = 4;
nums01[1][1] = 5;
nums01[1][2] = 6;
//출력
System.out.println("=====nums01출력=====");
for(int i=0;i<nums01.length;i++) {
for(int j=0;j<nums01[i].length;j++) {
System.out.print(nums01[i][j] + " ");
}
System.out.println();
}
System.out.println("=====nums01종료=====");
//선언과 초기화
int[][] nums02 = {{11,22,33},{44,55,66}};
//출력
System.out.println("=====nums02출력=====");
for(int i=0;i<nums02.length;i++) {
for(int j=0;j<nums02[i].length;j++) {
System.out.print(nums02[i][j] + " ");
}
System.out.println();
}
System.out.println("=====nums02종료=====");
}
}
- 이차원 배열의 행의 개수는 배열명.length로 사용합니다.
- 이차원 배열의 열의 개수는 배열명[인덱스번호].length로 사용합니다.
- 값을 위와 같이 일일이 작성할 수도 있지만, 바로 초기화할 수도 있습니다.
## Ex16_TwoDimensions.java - 결과
- 그럼 결과가 잘 출력되는 것을 확인할 수 있습니다.
'컴퓨터언어 > JAVA(자바)' 카테고리의 다른 글
[JAVA강좌] 36강 ArrayList를 이용한 학생 관리 (3) | 2024.01.30 |
---|---|
[JAVA강좌] 35강 ArrayList 클래스 (0) | 2024.01.29 |
[JAVA] 33강 자바 객체 배열 - 학생 성적 관리 (0) | 2024.01.29 |
[JAVA강좌] 32강 자바 배열 - 배스킨라빈스31게임 (0) | 2024.01.29 |
[JAVA강좌] 31강 자바 배열 - 로또 프로그램 (1) | 2024.01.29 |