배열(array)
: 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것
배열을 사용하면 많은 양의 데이터를 손쉽게 다룰 수 있음
서로 다른 타입의 변수들로 구성된 배열은 만들 수 없음
ex)한 학급의 시험점수를 저장하고자 할 때가 배열을 사용하기 좋은 예
만일 변수를 사용하지 않는다면 학생 5명의 점수를 저장하기 위해 5개의 변수를 선언해야 할 것
→int score1, score2, score3, score4, score5;
변수대신 배열을 사용하면 배열의 길이만 바꿔 간단히 처리 가능
▶int[]score = new int[5]; //5개의 int값을 저장할 수 있는 배열을 생성
대괄호[]
를 붙임선언방법 | 선언 예 |
---|---|
타입[ ] 변수이름; | int[ ] score; |
String[ ] name; | |
타입 변수이름[ ]; | int score[ ]; |
String name[ ]; |
연산자 'new'
와 함께 배열의 타입과 길이
를 지정타입[] 변수이름; //배열을 선언(배열을 다루기 위한 참조변수 선언)
변수이름 = new 타입[길이]; //배열을 생성(실제 저장공간을 생성)
* 길이가 5인 int배열을 생성
int[] score; //int타입의 배열을 다루기 위한 참조변수 score선언
score = new int[5]; //int타입의 값 5개를 저장할 수 있는 배열 생성
*위의 배열의 선언과 생성을 동시에 하면 한 줄로 가능
int [] score = new int[5]; //길이가 5인 int배열
생성된 배열의 각 저장공간을 배열의 요소(element)
라고 하며, 배열이름[인덱스]
의 형식으로 배열의 요소에 접근
인덱스(index)는 배열의 요소마다 붙여진 일련번호로 각 요소를 구별하는데 사용
인덱스 범위
: 1이 아닌 0부터 시작해서 배열길이-1까지
위 그림 중 배열의 인덱스(index)는 Score[0][1][2][3][4]이며, 보라색 칸 하나가 배열의 요소를 의미
▶배열에 값을 저장하고 읽어오는 방법은 변수와 같음
ex) score[3] = 100;
→배열 score의 4번째 요소에 100을 저장, 인덱스는 0부터 시작하기때문에 인덱스[3]은 4번째에 위치
ex) int value = score[3];
→배열 score의 4번째 요소의 값을 읽어서 value에 저장
배열의 장점
: index로 상수 대신 변수나 수식도 사용 가능
score[0] = 0;
score[1] = 10;
score[2] = 20;
score[3] = 30;
*위 코드를 for문을 이용해서 간단히 변경가능.
→index로 상수 대신 변수 i를 사용. for문의 변수 i의 값을 0부터 3까지 증가시킴
for (int i=0; i<=3; i++) {
score[i] = i + 10;
}