본문 바로가기
언어 공부하기/JAVA 개념

[Java 자바] 2차원 배열 생성 및 예제 알아보기

by 망댕이 2024. 5. 21.
반응형

| 2차원 배열이란?

2차원 배열은 행(row)과 열(column)을 구성되어 있습니다., 첫 번째 []는 행을, 두 번째 []는 열을 나타내며 자주 사용되는 데이터 구조이다.

[0][0] [0][1] [0][2] [0][3]
[1][0] [1][1] [1][2] [1][3]
[2][0] [2][1] [2][2] [2][3]

 

배열의 기본 개념

  • 정의: 2차원 배열은 1차원 배열의 배열입니다. 예를 들어, int arr[3][4]는 3개의 행과 4개의 열을 가진 배열을 의미한다.
  • 초기화: 2차원 배열을 선언하고 초기화하는 방법은 다양합니다. int arr[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};처럼 선언한다.

 

2차원 배열 선언 및 초기화

  • 배열 선언
public class Main {
    public static void main(String[] args) {
    	int[][] arr; // arr이라는 이름의 2차원 배열을 선언
        arr = new int[3][4]; // arr 배열을 3개의 행과 4개의 열을 가진 배열로 생성
        
        // int[][] arr = new int[3][4]; 배열 선언과 생성을 동시에
    }
}

 

  • 배열 초기화
public class Main {
    public static void main(String[] args) {
    
        int[][] arr = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
    }
}



배열을 선언하고 생성하는 동시에 초기값을 설정한다.

이 배열은 3개의 행과 4개의 열을 가지며, 각 요소는 중괄호로 묶여 초기화된다.

 

 

배열 요소 접근 및 수정

  • 요소 접근
public class Main {
    public static void main(String[] args) {
    
        int[][] arr = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
        
        int value = arr[1][2]; // value = 7
    }
}

 

배열 arr의 두 번째 행, 세 번째 열에 있는 요소를 접근한다. 이 경우 value는 7이 된다.

 

  • 요소 수정
public class Main {
    public static void main(String[] args) {
    
        int[][] arr = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
        
        arr[1][2] = 10; // arr[1][2]값이 10으로 변경
        int value = arr[1][2]; // value 값에 10 할당
        // {1, 2, 3, 4}, {5, 6, 10, 8}, {9, 10, 11, 12}으로 변경 됨.
    }
}

 

배열 arr의 두 번째 행, 세 번째 열에 있는 값을 10으로 수정한다.

 

2차원 배열 출력하기

2차원 배열의 모든 요소에 접근하기 위해 이중 for문을 사용한다.

public class Main {
    public static void main(String[] args) {
        int[][] arr = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};

        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(); // 새로운 행으로 이동
        }
    }
}

 

위 프로그램 출력 결과, 행(3) 열(4)로 이루어진 배열의 값이 하나하나 모두 출력되는 것을 볼 수 있다.

1차원 배열과 달리 [] [] 2개로 이루어져 있어 어렵다고 생각할 수 있지만 몇 번 접하다 보면 금방 익힐 수 있는 배열이다.

 

반응형