2차원 배열
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) 선언과 동시에
아니 왜 이 코드는 자꾸 오류나서 커밋이 안 되는 걸까.. 이거 보느라고 선언과 동시에 할당하는 방법 외움 !