1 minute read

2차원 배열

  • 2차원 배열은 할당된 공간마다 인덱스 번호 두 개를 부여
    • [ ][ ] 행, 열
    • 행은 위 > 아래로
    • 열은 왼쪽 > 오른쪽

2차원 배열 선언과 할당

1) 배열 선언

자료형[ ][ ] 배열명;
자료형 배열명[ ][ ];
자료형[ ] 배열명[ ];

//stack에 배열 주소 저장(참조변수)
int[][] iArray;
int iArray[][];
int[] iArray[];

2) 배열 할당

자료형[ ][ ] 배열명 = new 자료형[행크기][열크기];
자료형 배열명[ ][ ] = new 자료형[행크기][열크기];
자료형[ ] 배열명[ ] = new 자료형[행크기][열크기];

// heap에 15(행x열)개의 2차원 배열 생성, 배열 시작 주소를 참조 변수에 전달
int[][] arr = new int[3][4];
int arr[][] = new int[3][4];
int[] arr[] = new int[3][4];

2차원 배열 초기화

1) 인덱스 이용

배열명[0][0] = 값1;
배열명[0][1] = 값2;
배열명[1][0] = 값3;
배열명[1][1] = 값4;

iArray[0][0] = 1;
iArray[0][1] = 2;
iArray[1][0] = 3;
iArray[1][1] = 4;

2) for문 이용(중첩)

int[][] iArray; // 선언
iArray = new int[3][5]; // 할당
int value = 1;

// 초기화
for(int i=0; i<iArray.length; i++) { // 행
    for(int j=0; j<iArray[i].length; j++) { // 열 j < iArray[i].length; ★[i] 확인 필수
        iArray[i][j] = value++;
    }
}

// 출력
for(int i=0; i<iArray.length; i++) {
    for(int j=0; j<iArray[i].length; j++) {
        System.out.println(iArray[i][j] + " ");
    }
    
    System.out.println(" ");
}

3) 선언과 동시에
Alt text

아니 왜 이 코드는 자꾸 오류나서 커밋이 안 되는 걸까.. 이거 보느라고 선언과 동시에 할당하는 방법 외움 !


Categories:

Updated: