-배열을 반복실행하기 위해 for(int i; i<xxx.length; i) 를 항상 써왔지만 향상된 for문을 쓰면 더 간편하게 쓸수 있다.
-자바5부터 지원
for (타입 변수 : 배열이름){
//실행문
}
*실행원리
1. for문이 처음 실행 될 때, 배열에서 가져올 첫 번째 값이 존재하는지 평가한다.
2. 가져올 값이 존재하면 해당 값을 변수에 저장한다.
3. 실행문을 실행한다.
4. 다시 위로 가서 배열에 가져올 다음 값이 존재하는지 평가한다
...
package sec06.exam08_advanced_for;
public class AdvancedForExample {
public static void main(String[] args) {
int[] scores = { 95, 71, 84, 93, 87 };
//향상된 for문을 이용한 점수 총합 구하기
int sum1 = 0;
for (int score : scores) {
sum1 += score;
}
System.out.println("(향상된 for문)점수 총합 = " + sum1);
//평균 구하기
double avg = (double) sum1 / scores.length;
System.out.println("점수 평균 = " + avg);
//그냥 for문 구하기
int sum2 = 0;
for(int i = 0; i<scores.length; i++) {
sum2 += scores[i];
}
System.out.print("(일반 for문) 점수 총합: " + sum2);
}
}
실행결과:
(향상된 for문)점수 총합 = 430
점수 평균 = 86.0
(일반 for문) 점수 총합: 430
2차원 배열을 향상된 for문으로 출력
public class Exercise08 {
public static void main(String[] args) {
int[][] array = {
{95, 86},
{83, 92, 96},
{78, 83, 93, 87, 88}
};
int sum = 0;
double avg = 0.0;
int count = 0;
for(int[] i : array) {
for(int j : i) {
System.out.print(j + ", ");
}
System.out.println();
}
}
}
실행결과:
95, 86,
83, 92, 96,
78, 83, 93, 87, 88,
'5. 참조타입' 카테고리의 다른 글
5.7.2_열거 타입 변수 (0) | 2020.05.02 |
---|---|
5.7.1 열거타입 (enumeration type) (0) | 2020.05.01 |
5.6.8_객체를 참조하는 배열 (1) | 2020.04.30 |
5.6.7_다차원 배열 (0) | 2020.04.30 |
5.6.6_커맨드 라인 입력 (0) | 2020.04.30 |