본문 바로가기

컴퓨터언어/JAVA(자바)

[JAVA강좌] 34강 다차원 배열

728x90
반응형

 

 

 

 

 

 

 

 

 

- 지금까지 배운 배열을 모두 하나의 행으로 일차원 배열입니다.

- 수학적으로 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]

 

- 이런 식으로 처리된다고 보면 됩니다. 

 

 

 

 

 

 

 

 

 

 

728x90
반응형

 

 

 

 

 

 

 

 

 

 

 

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 - 결과

- 그럼 결과가 잘 출력되는 것을 확인할 수 있습니다. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형