안 씀/java-개념
다차원 배열
unhyepnhj
2024. 5. 6. 21:48
2차원 배열
- 1차원 배열과 마찬가지로 레퍼런스 변수 선언 후 배열 생성
1. 배열 선언
int intArray[][]; //이렇게나
int[][] intArray; //이렇게 선언
2. 배열 생성
intArray = new int[2][5];
- 2차원 배열에서 행의 각 원소는 1차원 배열에 대한 레퍼런스가 됨
※행(row)-가로, 열(column)-세로
+ 선언과 생성 동시에
int[][] intArray = new int[2][5]; //변수 선언과 배열 생성 동시에
배열 초기화
int[][] intArray = {{0, 1, 2}, {3, 4, 5}, {6, 7, 8}; //3*3 배열 생성
2차원 배열의 length
- i.length: 2차원 배열의 행의 개수
- i[n].length: n번째 행의 열의 개수
int[][] intArray = new int[2][5];
i.length; //2
i[0].length; //5
i[1].length; //5

비정방형 배열
- 정방형 배열: 각 행의 열 개수가 모두 동일한 배열
- 비정방형 배열: 행마다 열의 개수가 서로 다른 배열
비정방형 배열 생성
int[][] intArray = new int[4][]; //열 크기 설정하지 않고 행만 설정
intArray[0] = new int[1]; //첫째 행 열 개수 1
intArray[1] = new int[2]; //둘째 행 열 개수 2
intArray[2] = new int[3]; //셋째 행 열 개수 3
intArray[3] = new int[4]; //넷째 행 열 개수 4


비정방형 배열의 length
- i.length: 2차원 배열의 행의 개수
- i[n].length: n번째 행의 열의 개수
- 어떤 메소드가 배열을 매개변수로 받을 때 배열이 비정방형인지 정방혀인지 표시되지 않음
- 항상 length 필드를 사용하여 각 행의 열의 개수를 파악해야 함
+ 배열 생성 시 초기화를 통해 비정방형 배열을 생성 가능
int[][] intArray = {{0}, {1, 2}, {3, 4, 5}, {6, 7, 8, 9}};
예제 3-10 2차원 배열에 학년별 1, 2학기 성적을 저장하고 4년간 전체 평점 평균을 출력
예제 3-11 다음 그림과 같은 비정방형 배열 생성 후 접근
