Java - 향상된 for문,String 형 배열

2020. 6. 13. 19:07Java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
public class Ex {
 
    public static void main(String[] args) {
        /*
         * 향상된 for문(= for each 문)
         * - 기존 for문과 달리 초기식, 조건식, 증감식 없이
         *   배열 등의 객체와 해당 객체의 데이터를 꺼내서 저장할 변수 선언부만 존재함
         * - 기존 for문과 달리 인덱스를 사용하지 못하므로
         *   특정 범위에 대한 반복이나 특정 인덱스에 대한 접근이 불가능하고,
         *   무조건 처음부터 끝까지 반복 수행
         * 
         * < 기본 문법 >
         * for(객체에서 꺼낸 데이터가 저장될 변수 선언 : 데이터가 저장된 객체 또는 배열명) {
         *         // 반복할 문장
         * }
         */
        
        // 정수형 데이터 5개를 저장하는 배열(arr) 생성 및 1, 2, 3, 4, 5 로 초기화
        int[] arr = {12345};
        
        int total = 0;
        
        for(int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
            total += arr[i];
        }
        
        System.out.println("정수 합 : " + total);
        
        System.out.println("-------------------------");
        
        // 향상된 for문 사용
        total = 0;
        
        for(int num : arr) { // 배열 arr 의 각 인덱스 데이터를 차례대로 정수형 변수 num 에 저장
            // 반복문 내에서 변수 num 을 사용하면 각 배열 인덱스 데이터 사용 가능해짐
            System.out.println(num);
            total += num;
        }
        
        System.out.println("정수 합 : " + total);
        
 
 
/*
         * String 타입 배열 생성 및 다음 문자열로 초기화 후 모든 데이터 출력
         * "홍길동", "이순신", "강감찬", "김태희", "전지현"
         */
        
        String[] names = {"홍길동""이순신""강감찬""김태희""전지현"};
        
        // 기본 for문
        for(int i = 0; i < names.length; i++) {
            String name = names[i];
            System.out.println(name);
        }
        
        System.out.println("------------------");
        
        // 향상된 for문
        for(String name : names) {
            System.out.println(name);
        }
    }
 
}
cs

향상된 for문이란 걸 배웠는데 용도는 무조건 처음부터 끝까지 반복만 할 수 있는 for문인데 문장 자체는 굉장히 간단했고 좋았다. 조건식이나 다른 제어를 할 수는 없지만 활용할 수 있는 곳이 많을 것 같다. 배열 초기화할 때 사용하면 굉장히 편할 것 같다고 느꼈다. 그리고 정수형 배열만 아니라 String형 배열도 가능하고 정수형 배열과 다를 건 없었다.