오늘은 오전에 시험을 보고 배열 예제를 풀었고 오후에 2차원 배열을 배웠다.
2차원 배열과 배열(1차원)의 차이점은 1차원 배열은 변수의 묶음을 다루고 2차원 배열은 1차원 배열의 묶음을 다룬다고 보면된다.
배열 선언
자료형[ ][ ] 배열명 ;
자료형 배열명[ ][ ] ;
자료형[ ] 배열명[ ];
배열 할당
자료형[ ][ ] 배열명 = new 자료형[행크기][열크기];
자료형 배열명[ ][ ] = new 자료형[행크기][열크기] ;
자료형[ ] 배열명[ ] = new 자료형[행크기][열크기] ;
int[][] arr = new int[3][4];
int arr[][] = new int[3][4];
2차원 배열의 초기화도 배열초기화와 같이 3가지가 있는데
arr[0][0] = 1;
arr[1][1] = 2;
for(int i = 0; i < arr.length; i++) {
for(int j = 0; j < arr[i].length; j++) {
arr[i][j] = j;
}
}
int[][] arr = {{1, 2, 3, 4}, {5, 6, 7, 8}};
int[][] arr = new int[][] {{1, 2, 3, 4}, {5, 6, 7, 8}};
String fruit[][] = {{"사과", "딸기", "석류"}, {"바나나", "참외", "레몬"}};
가변 배열이란 다차원 배열 생성시 마지막 배열차수의 크기를 지정하지 않고 나중에 서로 크기가 다른 배열로 지정한 배열이다.
ex) 2차원 배열 생성 시 마지막 배열 차수(열)를 지정하지 않고 나중에 서로 크기가 다른 1차원 배열을 생성하여 참조하는 배열이다.
자료형[ ][ ] 배열명 = new 자료형[행크기][ ];
int[][] arr = new int[4][];
arr[0] = new int[3];
arr[1] = new int[4];
arr[2] = new int[5];
arr[3] = new int[2];