본문 바로가기
IT개발/Java

[Java] 2차원 배열

by Thompson 2025. 1. 23.
728x90

1. 2차원 배열 선언과 초기화

자바에서 2차원 배열을 선언하는 방법은 다음과 같습니다.

1.1 배열 선언과 크기 지정

int[][] arr = new int[3][4];  // 3행 4열 크기의 2차원 배열 선언
 
  • int[3][4]는 3개의 행4개의 열을 가진 2차원 배열을 선언합니다.
  • 각 요소는 기본값인 0으로 초기화됩니다.

1.2 배열 선언과 값 초기화

2차원 배열을 선언하면서 바로 값을 할당할 수 있습니다.

int[][] arr = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
  • 이 배열은 3행 3열이고 각 행에는 3개의 값이 들어 있습니다.
  • 이 방법은 배열 선언과 동시에 값을 넣을 수 있습니다.

2. 2차원 배열 접근

2차원 배열에 접근하는 방법은 인덱스를 두 번 사용하는 방식입니다. 첫 번째 인덱스는 , 두 번째 인덱스는 을 나타냅니다.

예시 :

public class Main {
    public static void main(String[] args) {
        // 2차원 배열 선언 및 값 초기화
        int[][] arr = {
            {1, 2, 3},
            {4, 5, 6},
            {7, 8, 9}
        };

        // 특정 요소에 접근
        System.out.println("arr[0][0]: " + arr[0][0]);  // 첫 번째 행 첫 번째 열 -> 1
        System.out.println("arr[1][2]: " + arr[1][2]);  // 두 번째 행 세 번째 열 -> 6
        System.out.println("arr[2][1]: " + arr[2][1]);  // 세 번째 행 두 번째 열 -> 8
    }
}

출력 :

arr[0][0]: 1
arr[1][2]: 6
arr[2][1]: 8
  • arr[0][0] : 첫 번째 행첫 번째 열의 값 1에 접근합니다.
  • arr[1][2] : 두 번째 행세 번째 열의 값 6에 접근합니다.
  • arr[2][1] : 세 번째 행두 번째 열의 값 8에 접근합니다.

3. 2차원 배열 순회 (반복문 사용)

2차원 배열의 모든 요소에 접근하려면 중첩된 반복문을 사용할 수 있습니다. 첫 번째 반복문은 행을 순회하고, 두 번째 반복문은 열을 순회합니다.

예시 :

public class Main {
    public static void main(String[] args) {
        // 2차원 배열 선언 및 값 초기화
        int[][] arr = {
            {1, 2, 3},
            {4, 5, 6},
            {7, 8, 9}
        };

        // 배열의 모든 요소를 출력
        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();  // 한 행이 끝난 후 줄바꿈
        }
    }
}

출력 :

 
1 2 3 
4 5 6 
7 8 9

4. 가변 크기의 2차원 배열

자바에서는 각 행의 길이가 달라도 되는 가변 크기의 2차원 배열도 만들 수 있습니다. 즉, 배열의 각 행의 열 수가 다를 수 있습니다.

예시 :

public class Main {
    public static void main(String[] args) {
        // 가변 크기의 2차원 배열 선언 및 값 초기화
        int[][] arr = new int[3][];
        arr[0] = new int[2];  // 첫 번째 행은 2열
        arr[1] = new int[3];  // 두 번째 행은 3열
        arr[2] = new int[4];  // 세 번째 행은 4열

        // 값 할당
        arr[0][0] = 1; arr[0][1] = 2;
        arr[1][0] = 3; arr[1][1] = 4; arr[1][2] = 5;
        arr[2][0] = 6; arr[2][1] = 7; arr[2][2] = 8; arr[2][3] = 9;

        // 배열의 모든 요소 출력
        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();  // 한 행이 끝난 후 줄바꿈
        }
    }
}

출력 :

 
1 2 
3 4 5 
6 7 8 9

5. 2차원 배열의 크기 확인

2차원 배열의 크기는 .length를 사용하여 확인할 수 있습니다. 예를 들어, 배열의 행의 수열의 수를 확인하려면 각각 arr.length와 arr[i].length를 사용합니다.

예시 :

public class Main {
    public static void main(String[] args) {
        // 2차원 배열 선언 및 값 초기화
        int[][] arr = {
            {1, 2, 3},
            {4, 5, 6},
            {7, 8, 9}
        };

        // 배열의 행과 열의 수 확인
        System.out.println("행의 수: " + arr.length);  // 3
        System.out.println("첫 번째 행의 열 수: " + arr[0].length);  // 3
        System.out.println("두 번째 행의 열 수: " + arr[1].length);  // 3
    }
}

출력 :

 
행의 수: 3
첫 번째 행의 열 수: 3
두 번째 행의 열 수: 3