열심히 끝까지
14강 배열 - 다차원 배열 본문
14-1 ) 2차원 배열의 선언과 생성
(1) 다차원 배열의 정의
배열의 각 요소가 배열
(2) 2차원 배열의 선언
자료형[ ][ ] 배열명;
(3) 2차원 배열의 생성
배열명 = new 자료형[ 크기 ][ 크기 ]
ex ) int[ ][ ] ar = new int[3][4]
=> 4개의 변수를 묶고 있는 1차원 배열 3개를
갖는 배열을 생성
ar
[ [ ][ ][ ][ ] ] <- 4개의 변수를 묶은 배열 x 3
[ [ ][ ][ ][ ] ]
[ [ ][ ][ ][ ] ]
(4) 2차원 배열의 목적
배열을 묶어서 관리하기 위해서
Ex) 철수의 국, 영, 수 점수를 관리하기 위해 배열 생성!
-> 이후, 반 학생 전체의 국, 영, 수 점수를 관리하려면?
<실습>
5개의 변수를 묶는 1차원 배열 2개를 묶는 2차원 배열 array2를 생성해라
==> 자료형[ ][ ] 배열명 = new int[1차원 배열 개수][각 배열의 변수 개수]
==> int array2[ ][ ] = new int[2][5];

14-2 ) 2차원 배열의 인덱스
" 2차원 배열은 행(가로)과 열(세로)로 구성되어 있다 "
배열은 변수를 관리하기 위한 목적으로 만든 구조!
따라서, 2차원 배열도 각 변수에 접근하는 방법이 있어야 하며
그 방법이 바로 " 인덱스 " 이다! (인덱스 = 위치값)
2차원 배열의 각 변수의 이름?
ar
[ [ar[0][0]] [ar[0][1]] [ar[0][2]] [ar[0][3] ] ar[0]
[ [ar[1][0]] [ar[1][1]] [ar[1][2]] [ar[1][3] ] ar[1]
[ [ar[2][0]] [ar[2][1]] [ar[2][2]] [ar[2][3] ] ar[2]
예상 - ar[1][2] = 30; / ar[0][3] = 40; / ar[1][2] = 50;
결과
[ [ar[0][0]] [ar[0][1]] [ar[0][2]] [ 40 ] ] ar[0]
[ [ar[1][0]] [ar[1][1]] [ 50 ] [ar[1][3]] ] ar[1]
[ [ar[2][0]] [ar[2][1]] [ar[2][2]] [ar[2][3]] ] ar[2]
이 때, ar[1][2]가 30이였다가 50으로 변경
14-3 ) 2차원 배열의 초기화와 출력
(1) 2차원 배열의 초기화
자료형[ ][ ] 배열명 = {
{ 값1, 값2, 값3 .... },
{ 값4, 값5, 값6 .... },
{ 값7, 값8, 값9 .... },
....
};
ex )
int[ ][ ] array3 = {
{ 1, 2, 3, 4, 5 },
{ 6, 7, 8, 9, 10 }
};
[ [ 1 ][ 2 ][ 3 ][ 4 ][ 5 ] ]
[ [ 6 ][ 7 ][ 8 ][ 9 ][ 10 ] ]
< 실습 >
< 2차원 배열의 모든 값 출력하기 >
다음과 같이 4명의 학생의 점수 3개를 입력받아 scores라는 2차원 배열에 저장하시오
학생번호 | 국어 | 영어 | 수학 |
1번 | 90 | 100 | 50 |
2번 | 100 | 20 | 30 |
3번 | 40 | 50 | 60 |
4번 | 100 | 100 | 99 |


'멘토씨리즈 JAVA' 카테고리의 다른 글
16강 배열 - 연습 / 카페주문 프로그램 제작 (0) | 2022.04.26 |
---|---|
15강 배열 - 배열의 복제 및 foreach문 (0) | 2022.04.26 |
13강 배열 - 연습 / 로또번호 생성기 (0) | 2022.04.25 |
12강 배열 - 배열의 개념 및 사용 (0) | 2022.04.23 |
11강 제어문 - 반복문 break / continue (0) | 2022.04.23 |