2차배열(배열의 배열)
- 1차 배열의 각 칸에 새로운 배열을 넣는 형태이다.
- 1차 배열의 각 칸은 행이되고, 각각의 칸에 추가된 개별적인 배열이 열의 개념이 되어 "행렬"을 구성하게 된다.
배열만드는 방법
1) 2차원 배열의 선언
- 데이터 타입의 이름 뒤에 대괄호[ ]를 행과 열에 대해 각각 지정한다.
- 데이터형[ ][ ] 배열이름;
int[ ][ ] num;
2) 2차원 배열의 크기 할당
- 행과 열에 대한 크기를 명시한다.
- 배열이름 = new 데이터형[행][열];
num = new int[3][3];
✔ 2차원 배열의 선언과 크기 할당 일괄처리
- 데이터[ ][ ] 배열이름 = new 데이터형[행 크기][열 크기];
int[ ][ ] num = new int[3][3];
3) 2차원 배열에 대한 값의 대입 방법
- 행, 열에 대한 인덱스를 통하여 값을 대입한다.
- 배열이름[행 번호][열 번호] = 값;
num[0][0] = 5;
✔ 2차원 배열의 선언, 크기 할당, 값의 대입에 대한 일괄처리
- 2차원 배열의 경우 블록 괄호{ }를 2중으로 겹쳐서 2차원 배열을 표현한다.
- 행과 열의 구분하는 콤마(,)가 사용된다.
- 컴파일러가 블록괄호{ }의 요소를 파악하면, 행, 열의 크기가 산출될 수 있으므로 배열의 크기 설정을 위한 [ ][ ]에는 배열의 크기를 명시하지 않는다.
- 일괄지정
int[ ][ ] num = new int[ ][ ]{
{5, 10, 15},{20, 25, 30},{35, 40, 45}
}
4) 2차원 배열의 길이
- 2차원 배열의 길이는 행에 대한 측면과 열에 대한 측면을 나누어서 생각해야 한다.
- 행의 길이
- 1차원 배열의 길이는 2차 배열에서는 행의 크기로 조회된다.
int rows = num.length;
// 행의 크기는 3
- 열의 길이
- 열의 길이는 각 행에 대하여 개별적으로 조회해야 한다.
int cols = num[행].length;
int cols = num[0].length;
// 0행의 열크기는 3