java 반복문 for ~ each

Java & Android 2015. 7. 29. 11:02
public class Test01 {
	public static void main(String[] args) {
		int[] a = new int[10];
		
		for(int i = 0; i < a.length; i++) {
			a[i] = i;
		}
		
		for(int value : a) {
			System.out.println(value);
		}
	}
}

배열, 리스트 등 여러개의 값들로 이루어진 변수를 순차적으로 참조하기 위해 사용되며
for( 값의 타입과 같은 타입의 변수 : 배열 또는 리스트 등등 ) { } 으로 선언하며
첫 요소부터 순차적으로 접근하며 인텍스를 이용한 접근이 어렵다.

인덱스를 이용한 접근과 가장 큰 차이점은 for ~ each 문 내부에서 연산을 하더라도
배열, 리스트 등의 값에 영향을 주지 않는다(값이 변경되지 않음).
이는 for ~ each문 내부에서 마치 복사본을 사용하는 것과 같다.

다음 코드의 결과를 보자

public class Test {
	public static void main(String[] args) {
		int[] a = {0, 1, 2, 3, 4};
		for(int i : a) {
			i += 10;
			System.out.println(i);
		}
                System.out.println("-----");
		for(int i : a) {
			System.out.println(i);
		}
		return;
	}
}

결과를 보면 배열의 값이 변경되지 않았음을 알 수 있다.

10
11
12
13
14
-----
0
1
2
3
4

'Java & Android' 카테고리의 다른 글

java 반복문 내에서 break와 continue  (0) 2015.07.29
java 반복문 while  (0) 2015.07.29
java 반복문 for  (0) 2015.07.29
java 조건문 switch ~ case  (0) 2015.07.29
java 조건문 if ~ else if  (0) 2015.07.29
: