2차원 배열
: 배열 안에 배열이 있는 것
한 번 접근하면 1차원 배열
두 번 접근하면 값!
따라서 대괄호도 2개이며, 첫번째 접근하는 대괄호가
행이고, 두번째 접근하는 대괄호가 열이다.
2차원 배열 선언
자료형[][] 배열명 = {{값1, 값2,..},{값3, 값4...},...};
( 자료형 배열명[][] = {{값1, 값2,..},{값3, 값4...},...};도 가능. )
자료형[][] 배열명 = new 자료형[행][열];
□ (arrData)
□□ *(arrData + 행) = arrData[행]
□□□ □□□ *(*(arrData + 행) + 열) = arrData[행][열]
* 3차원 배열부터는 메모리 낭비가 심해서 잘 사용하지x
- 정방 배열 : 각 행의 열갯수가 모두 같은 배열
- 비정방 배열 : 각 행의 열 갯수가 서로 다른 배열
행의 길이: arrData.length
열의 길이: arrData[행].length
2차원 배열 사용
int[] arData = {1, 2, 3};
int[][] arrData = {{4, 5, 6},{7, 8, 9}};
arrData[1] = arData;
1번째 행에 arData가 가지고 있는 주소값으로 교체된다.
따라서 {7, 8, 9}는 메모리에서 해제된 후
arData와 arrData[1]은 주소를 공유한다.
arData[1]을 9로 변경하면 arrData[1][1]도 9 로 변경된다.
2차원 배열에서 한번만 접근하면 1차원 배열의 주소를 담을 공간이다.
필기
'JAVA' 카테고리의 다른 글
[JAVA]DAY9_클래스 (0) | 2020.03.16 |
---|---|
[WEB]DAY7_메소드 (0) | 2020.03.16 |
[WEB]DAY5_배열 (0) | 2020.02.17 |
[WEB]DAY4_제어문 (조건문 : if문, switch문), (반복문 : for문, while문, do while문), 연산자 (0) | 2020.02.17 |
[WEB]DAY3_입력 메소드(2), 연산자, 조건식 (0) | 2020.02.12 |