배열이란 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것을 배열(Array)라고한다. 많은 양의 데이터를 저장하기 위해, 그 데이터의 숫자만큼 변수를 선언해야 한다면 매우 복잡하기 때문에 그것을 손쉽게 다룰려면
배열을 사용하면 된다.
1-1
배열에서 중요한 점은 '같은 타입'이여야 한다. 서로 다른 타입의 변수들로 구성된 배열은 만들 수 없다.
항상 이렇게 하나씩 입력할 수 없기 때문에 같은 타입의 배열을 선언하면된다.
선언방법은 생각보다 간단하다.
타입[ ] 변수이름; ex> int[ ] score; && String[ ] name;
이런식으로 선언하면된다. 1-1에서 사용한 예시로 말하면
int[ ] score = new int[5]라고 가정했을 때
socre[0]~score[4] 까지 저장공간이 생긴다.
score[1]~[5]가 아님을 주의하자! 인덱스 번호는 0부터 시작한다.
앞에서 설명했지만 인덱스와 길이(length)에 대해 좀 더 알아보자
인덱스(index)는 배열의 요소마다 붙여진 일련번호로 각 요소를 구별하는데 사용된다 쉽게 생각하면 저장공간이라고 생각하면 된다.
2-1
int[] socre = new int[6];
for (int i = 0; i<5; i++){
System.out.println(score[i]); // 에러 발생 배열의 길이가 다르기 때문에
> int[] score = new int[6];
for(int i=0; i<score.length; i++){ // 이러면 조건식 변경을 안해도 된다.
System.out.println(socre[i]);
> 출력
0
0
0
0
0
0
// 값이 따로 지정된게 없기때문에 0이 6번 출력된다.
//배열을 이용하여 총합과 평균을 구하는 식을 만들어보자
class Ex5 {
public static void main(Sting[] args) {
int sum = 0;
float average = 0f;
int[] score = {100,70,90,100,80};
for(int i =0; i<score.length; i++) {
sum += score[i];
}
average = sum / (float)score.length;
System.out.println("총합: " + sum );
System.out.println("평균: " + average);
// 결과
총합:440
평균:88.0
// 이런식으로 배열을 이용하여 총합과 평균을 구하는 코드를 작성할 수 있다.
}
}
class Ex5_2 {
public static void main(String[] args) {
int[] score = {100, 20, 30 ,40 ,50, 66, 99, 95};
int max = score[0];
int min = score[0];
for(int i= 1; i<score.length; i++){
if(score[i] > max) {
max = score[i];
} else if(score[i] < min) {
min = score[i];
}
}
System.out.println("최대값:" +max);
System.out.println("최소값:" +min);
}
}
// 결과
최대값:100
최소값:20