티스토리 뷰

Java

[Java] 배열(Array)_2

Dongi 2022. 8. 1. 23:21

 

 

 

 

안녕하세요. 오늘은 2차원 배열(Array)에 대해 알아봅시다.

 

 

 

 

2차원 배열(2D Array)

2차원 배열은 수학의 행렬을 떠올리면 이해하기가 어렵다. 무조건 그려서 확인해봐야 한다. 

 

public class Array2D {
	public static void main(String[] args) {
    	int[][] a;
        a = new int[3][]; // 정수형 1차원 배열을 참조하는 참조변수 - 행의 개수 3
        a[0] = new int[4]; // 정수형 2차원 배열을 참조하는 참조변수 - 열의 개수 4
        a[1] = new int[4]; // 정수형 2차원 배열을 참조하는 참조변수 - 열의 개수 4
        a[2] = new int[4]; // 정수형 2차원 배열을 참조하는 참조변수 - 열의 개수 4
    }
}

위와 같은 2차원 배열이 있다고 생각해보자. 정수형 1차원 배열을 참조하는 참조 변수가 3개의 행을 나타내고 각각의 인덱스 번호 0~2에 선언된 정수형 2차원 배열을 참조하는 참조변수들이 각각 열의 개수 4를 나타낸다. 

 

아래의 그림을 보자.

그림을 참고하여 보면 1차원 배열(행)이 인덱스 번호로 0, 1, 2가 있고 2차원 배열은 3개가 있는데 인덱스 번호로 0, 1, 2, 3이 있다 고로 행을 나타내는 1차원 배열이 하나 있고 그 속에 열을 나타내는 배열이 3개가 있는 것이다.

 

2차원 배열에 값을 넣어보자

그림을 보면서 하면된다.

public class Array2D {
	public static void main(String[] args) {
    	int[][] a;
        a = new int[3][]; // 정수형 1차원 배열을 참조하는 참조변수 - 행의 개수 3
        a[0] = new int[4]; // 정수형 2차원 배열을 참조하는 참조변수 - 열의 개수 4
        a[1] = new int[4]; // 정수형 2차원 배열을 참조하는 참조변수 - 열의 개수 4
        a[2] = new int[4]; // 정수형 2차원 배열을 참조하는 참조변수 - 열의 개수 4
        // int[][] a = new int[3][4]로 짧게 선언가능 하지만 이럴 경우, 열의 개수가 무조건 같아야한다.
        
        // 2차원 배열에 값을 넣어보자
        a[1][1] = 10; // 좌표 1,1에 10이라는 값을 넣었다.
        a[1][2] = 20; // 좌표 1,2에 20이라는 값을 넣었다.
        a[2][3] = 40; // 좌표 2,3에 40이라는 값을 넣었다.
        
        // 2차원 배열 값을 반복문을 통해 출력
        for(int i=0; i<a.length; i++) {
        	for(int j=0; j<a[i].length; j++) {
            	System.out.printf("%4d", a[i][j]);
            }
            System.out.println();
        }
    }
}

/* 출력값
   0   0   0   0
   0  10  20   0
   0   0   0  40
 */

 

 

직관적으로 선언 후 초기화

public class Array2D {
	public static void main(String[] args) { 
        int[][] a = {
        	{12, 15, 18, 19},
            {22, 25, 28, 29},
            {52, 55, 58, 59}
        };
        
        // 또는
        
        int[][] a;
        a = new int[][]{
        	{12, 15, 18, 19},
            {22, 25, 28, 29},
            {52, 55, 58, 59}
        }; // 2차원 배열의 참조 변수 선언과 초기화를 분리할 때 new int[][]를 반드시 써주어야함
    }
}

 

 

'Java' 카테고리의 다른 글

[Java] 메소드(Method)  (0) 2022.08.06
[Java] 난수(Random Number)  (0) 2022.08.02
[Java] 배열(Array)  (0) 2022.08.01
[Java] For문 예제  (0) 2022.08.01
[Java] 반복문(Loop)  (0) 2022.08.01
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함