/ JAVAJUNGSUK

Ch5-8~9. 배열 총합·평균

자바의 정석 기초편

0. 목차



Chapter5. 배열

Ch5 - 8. 배열의 활용(1) 총합과 평균

Ch5 - 9. 배열의 활용(2) 최대값과 최소값



Ch5 - 8. 배열의 활용(1) 총합과 평균


▶ 총합과 평균?

▷ 배열의 모든 요소를 더해서 총합과 평균을 구함


▶ 총합구하기

int sum = 0;

int[] iArr = { 1, 2, 3, 4, 100, -8 };

for (int i = 0; i < iArr.length; i++) {
    
    System.out.printf("%d + %d = ", sum, iArr[i]);
    sum += iArr[i];
    System.out.printf("%d\n", sum);
}
System.out.printf("\ntotal sum > %d", sum);

// console
0 + 1 = 1
1 + 2 = 3
3 + 3 = 6
6 + 4 = 10
10 + 100 = 110
110 + -8 = 102

total sum > 102


▶ 평균구하기

▷ 총합 ÷ 배열의 길이
▷ 정확한 평균을 위해 float로 형변환
int sum = 0;
float average = 0f;

int[] iArr = { 100, 50, 90, 80 };

for (int i = 0; i < iArr.length; i++) {
    
    System.out.printf("%d + %d = ", sum, iArr[i]);
    sum += iArr[i];
    System.out.printf("%d\n", sum);
}
average = sum / (float)iArr.length;

System.out.printf("\n%d ÷ %f = %f\n", sum, (float)iArr.length, average);

System.out.printf("\ntotal sum > %d\n", sum);
System.out.printf("average > %f", average);

// console
0 + 100 = 100
100 + 50 = 150
150 + 90 = 240
240 + 80 = 320

320 ÷ 4.000000 = 80.000000

total sum > 320
average > 80.000000



Ch5 - 9. 배열의 활용(2) 최대값과 최소값


▶ 최대값과 최소값?

▷ 배열의 요소 중에서 제일 큰 값과 제일 작은 값을 찾음
int[] score = {77, 88, 33, 44, 222};

int max = score[0];
int min = score[0];

for (int i = 1; i < score.length; i++) {
    if (score[i] > max) {
        
        System.out.println("max");
        System.out.printf("%d > %d : %b\n", score[i], max, score[i] > max);
        
        max = score[i];

        System.out.printf("max = %d\n\n", max);
    } else if (score[i] < min) {
        System.out.println("min");
        System.out.printf("%d < %d : %b\n", score[i], min, score[i] < min);

        min = score[i];
        
        System.out.printf("min = %d\n\n", min);
    }
}
System.out.println("max = " + max);
System.out.println("min = " + min);

// console
max
88 > 77 : true
max = 88

min
33 < 77 : true
min = 33

max
222 > 88 : true
max = 222

max = 222
min = 33
  • score[i] > max : truemax(if문)
  • score[i] > max : falsemin(else if문)