Java

[Java] for each문 & switch/case문

이덩우 2023. 5. 25. 11:13

- for each문

  • 기존의 for문의 활용을 보자.
String[] numbers = {"one", "two", "three"};
for(int i=0; i<numbers.length; i++) {
    System.out.println(numbers[i]);
}
one
two
three

위처럼 반복할 구간과 조건을 모두 지정해주는 특징이다.

 

  • 같은 결과를 가져오는 for each문을 보자.
String[] numbers = {"one", "two", "three"};
for(String number: numbers) {
    System.out.println(number);
}
one
two
three

언뜻 이해가 안갈 수 있지만, 반복탐색을 원하는 대상을 : 뒤에 넣어주고, : 전에는 for문 안에서 활용할 매개변수를 입력해준다. 물론 매개변수를 선언해줄 때, 기존의 반복대상과 동일한 자료형으로 선언해야한다.
보기에 매우 직관적이고 간편한 장점이 있지만, 대상이 될 수 있는 배열이나 리스트를 처음부터 순차적으로 끝까지 확인을 하기 때문에, 탐색 범위를 제한할 수 없다는 단점이 있다. 

 

- switch/case문

  • 많이 사용해봤지만, 사용할 때마다 헷갈리는 제어문, 아래의 예시를 보자
public class Sample {
    public static void main(String[] args) {
        int month = 8;
        String monthString = "";
        switch (month) {
            case 1:  monthString = "January";
                     break;
            case 2:  monthString = "February";
                     break;
            case 3:  monthString = "March";
                     break;
            case 4:  monthString = "April";
                     break;
            case 5:  monthString = "May";
                     break;
            case 6:  monthString = "June";
                     break;
            case 7:  monthString = "July";
                     break;
            case 8:  monthString = "August";
                     break;
            default: monthString = "Invalid month";
                     break;
        }
        System.out.println(monthString);
    }
}
August

기본적인 구조는 위와 같고, 항상 case로 정한 값을 switch ()안에 적어주고, 각 케이스별로 행동을 지정해주자.

 

 

 

 

출처 : https://wikidocs.net/264