package kr.s06.array;
public class ArrayMain03 {
public static void main(String[] args) {
int sum = 0;
float avg = 0.0f;
//배열 선언, 생성(암시적으로 배열 생성), 초기화
int[] score = {100, 88, 88, 100, 90};
//총점 구하기
for(int i=0;i<score.length;i++) {
//누적
sum += score[i]; //i: 0~4까지 for문을 돌며 변화
}
//평균 구하기
// 총점 과목수
avg = sum / (float)score.length;//sum: int ---> float
System.out.printf("총점: %d%n", sum);
System.out.printf("평균: %.2f%n", avg);
}
}
연산 결과를 저장하기 위한 변수 두 개를 선언 및 생성한다.
총점을 저장할 변수: int sum = 0;, 평균을 저장할 변수: float avg = 0.0f;
이때 배열을 생성한 후에 배열의 길이를 늘리거나 줄일 수 없다는 점, 즉 '고정 길이'라는 점을 유의하며 암시적으로 배열 생성 및 초기화를 해준다.
int[] score = {100, 88, 88, 100, 90};
위 배열은 index가 0~4까지 있는, length가 5인 배열이다.
for문으로 총점을 구하는데, 루프를 돌며 i가 0에서 score.length(길이) 전까지 1씩 증가하며 배열에 저장된 값을 sum 변수에 누적한다.
for(int i=0;i<score.length;i++) {
//누적
sum += score[i]; //
}
평균은 위 과정을 통해 구한 총점을 과목수로 나누어 구하는데, 과목수 = 배열의 길이이므로 score.length로 나누어 주되 총점과 과목수 모두 자료형이 int이므로 과목수 앞에 (float)을 붙여 실수로 강제 형변환을 해준다.
이후 구한 총점과 평균을 출력한다.
System.out.printf("총점: %d%n", sum);
System.out.printf("평균: %.2f%n", avg);