본문 바로가기
JAVA

[JAVA] 2차원 배열(선언, 초기화, 길이 구하기)

by 정공자씨 2024. 4. 17.

 

2차원 배열이란?

 

 

 

배열의 선언

int [][] score;

 

 

배열의 생성

int [][] score; // 배열 선언
score = new int[2][3]; // 배열 생성
  • int 정수 3개를 넣을 수 있는, 배열을 2개 만드는 것

 

 

 

배열의 초기화

 

1. 값의 목록을 이용한 2차원 배열의 초기화

  • 값 목록으로 초기화 시, 반드시 배열 선언과 초기화를 동시에 할 것
int [][] score = { {10, 20, 30}, {40, 50, 60}, {70, 80, 90} }

 

  [에러 발생]

  • 배열 선언과 값 목록으로 배열 초기화를 '따로 하면(다른 행에서 하면)' 에러 발생
int [][] score;
score = { {10, 20, 30}, {40, 50, 60}, {70, 80, 90} }; // X 에러 발생

 

 

 

2. 배열 생성한 후 2차원 배열 초기화

int [][] arr = new int[2][3]

arr[0][0] = 1;
arr[0][1] = 2;
arr[0][2] = 3;

 

 

 

 

 

배열의 접근

 

 

 

 

 

배열의 길이(length)

 

 

1. 2차원 배열에는 1차원 요소의 길이와 2차원 요소의 길이가 있음

  • 1차원 요소의 길이 : (행렬로 표현 시) 행의 수
  • 2차원 요소의 길이 : (행렬로 표현 시) 각각의 행의 열의 수

 

 

2. 2차원 배열의 길이 구하는 방법

  • 1차원 요소의 길이(행의 수) : score.length
  • 2차원 요소의 길이(각 행의 열의 수): score[각 행의 index].length
public static void main(String[] args) {

    int [][] arr = { {1, 2, 3}, {4, 5, 6} };

    System.out.println(arr.length); // 행의 개수 : 2
    System.out.println(arr[0].length); // 0행의 열의 개수 : 3
    System.out.println(arr[1].length); // 1행의 열의 개수 : 3

}

 

 

 

3. 2차원 배열에서 중첩 for문 사용하기

  • 2차원 배열의 각 요소( arr[ i ][ j ] )에 접근해서, 요소를 초기화 하고 값을 출력하는 코드
    • 외부 for문의 반복 변수(i)는 1차원 요소의 index로 사용
    • 내부 for문의 반복 변수(j)는 2차원 요소의  index로 사용
public static void main(String[] args) {

    int [][] arr = new int[2][3]; //행2개, 열3개

    for (int i = 0; i < arr.length; i++) { // arr.length: 2개 (행)
        System.out.println("-- 외부 for문 : " + i + "행 --");

        for (int j = 0; j < arr[i].length; j++) { // arr[i].length: 3개(각 행의 열)
            arr[i][j]  = (3 * i) + j + 1; // 값 초기화
            System.out.println("arr[" + i + "][" + j +"] = " + arr[i][j]);
        }
    }

}
  • 외부 for문 : 1차원 요소 길이(행)만큼 반복
  • 내부 for문 : 2차원 요소 길이(각 행의 열)만큼 반복

 

 

[실행 결과]