배열이란?
변수는 한 개의 데이터만 저장할 수 있다. 따라서 저장해야 할 데이터의 수가 많아지면 그만큼 많은 변수가 필요하다.
같은 타입의 많은 양의 데이터를 다루는 프로그램에서는 좀 더 효율적인 방법이 필요한데 이것이 배열이다.
배열은 같은 타입의 데이터를 연속된 공간에 나열시키고, 각 데이터에 인덱스(Index)를 부여해 놓은 자료구조이다.
배열의 인덱스는 각 항목의 데이터를 읽거나, 저장하는데 사용되며 다음과 같이 배열 이름 옆에 대괄호[ ]에 기입된다.
score[인덱스]
배열 선언
배열을 사용하기 위해서는 우선 배열 변수를 선언해야 한다. 배열 변수 선언은 두 가지가 있다.
1. 타입[ ] 변수;
2. 타압 변수[ ] ;
배열 생성
데이터 타입[ ] 변수 = {값0, 값1, 값2, 값3};
중괄호 { }는 주어진 값들을 항목으로 가지는 배열 객체를 힙에 생성하고, 배열 객체의 번지를 리턴한다.
배열 변수는 리턴된 번지를 저장함으로써 참조가 이루어진다.
String[ ] names = {"민수", "철수", "길동"};
new 연산자로 배열 생성
값의 목록을 가지고 있지 않지만. 향후 값들을 저장할 배열을 미리 만들고 싶다면 new 연산자로 배열 객체를 생성시킬 수 있다.
타입[ ] 변수 = new 타입[길이];
배열 길이
배열의 길이란 배열에 저장할 수 있는 전체 항목 수를 말한다. 코드에서 배열의 길이를 얻으려면 배열 객체의 length 필드를 읽으면 된다. 필드는 객체 내부의 데이터를 말한다.
배열변수.length;
우선 배열을 선언, 생성을 하고 직접 값을 넣고 출력을 하도록 하겠다.
int sal[]; //배열 선언
sal = new int[6];//배열생성
sal[0] = 41;
sal[1] = 25;
sal[2] = 25;
sal[3] = 33;
sal[4] = 44;
sal[5] = 55;
System.out.println("1월 급여:"+ sal[0]);
System.out.println("2월 급여:"+ sal[1]);
System.out.println("3월 급여:"+ sal[3]);
System.out.println("6월 급여:"+ sal[5]);
System.out.println("배열길이:"+ sal.length); //6
위에서는 하나하나 대입을 해주었지만
int sal[ ] = { 41, 25, 33, 44, 55 }; 로 배열선언, 생성, 대입을 한번에 할 수 있다.
배열변수.length 를 하여 배열의 길이를 나타내었다.
결과값
1월 급여:41
2월 급여:25
3월 급여:33
6월 급여:55
배열길이:6
상반기 급여의 월평균을 계산하시오. 평균급여가 소숫점이하값을 정확히 갖는다.
int sal[] = {41,25,25,33,44,55,};
int salTotal = 0;
int monthCnt = sal.length;
for(int index = 0; index < monthCnt; index++) {
salTotal += sal[index];
}
double salAvg = salTotal / 6.0;
System.out.println("상반기 총급여= " + salTotal);
System.out.println("상반기 평균급여= " + salAvg);