본문 바로가기

자바/자바 개념

[Java] for-each문, for-each문 활용 / 2021.07.28

1. for-each문이란?
기존의 for문과는 달리, for-each문은 배열의 크기만큼 루프를 돌면서 각 원소를 순차적으로 접근할 수 있다.
for-each문의 구조는 다음과 같다.

for-each문 구조


2. for-each문 활용
(1) 배열 n에 들어 있는 모든 정수를 더하는 코드

- for문 활용

public class Main {
    public static void main(String[] args) {
        int [] n = {1, 2, 3, 4, 5};
        
        int sum = 0;
        for(int i = 0; i < n.length; i++) {
            sum += n[i];
        }
        
        System.out.println(sum);
    }
}​


- for-each문 활용
int num의 값은 n[0] -> n[1] -> n[2] -> n[3] -> n[4] 순으로 순차적으로 바뀐다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class Main {
    public static void main(String[] args) {
        int [] n = {12345};
        int sum = 0;
        
        for(int num : n) {
            sum += num;
        }
        
        System.out.println(sum);
    }
}
 
 
cs

 

(2) 문자열 배열에서의 활용

 

1
2
3
4
5
6
7
8
9
public class Main {
    public static void main(String[] args) {
        String names[] = {"사과""바나나""딸기""포도""수박""복숭아"};
        for(String fruits : names) {
            System.out.print(fruits+" ");
        }
    }
}
 
cs

 


실행 결과 :


(3) 나열에서의 활용
for-each문은 배열 뿐만 아니라 나열(enum)에도 사용 가능하다.
enum타입 Week는 7개의 값을 가지고 있기 때문에 for-each문 안의 Week의 객체 day는 7개의 값만 가질 수 있다.

1
2
3
4
5
6
7
8
9
10
public class Main {
    enum Week {월, 화, 수, 목, 금, 토, 일};
    public static void main(String[] args) {
        for(Week day : Week.values()) {
            System.out.print(day+"요일 ");
        }
    }
}
 
 
cs

 

실행 결과 :