성장일기

향상된 for문(enhanced for statement)

 JDK 1.5부터 배열과 컬렉션에 저장된 요소에 접근할 때 기존보다 편리한 방법으로 접근할 수 있도록 for문의 새로운 문법이 추가되었다. 

for(타입 변수명 : 배열 또는 컬렉션){
	//반복
}

 형태는 위와 같다. 배열 또는 컬렉션에 접근할 때 인덱스로 접근하는 것이 아닌, 배열 또는 컬렉션에 저장 된 요소가 매 반복마다 하나씩 순서대로 해당 변수에 저장된다. 그리고 반복문 내에서 해당 변수를 이용해서 코드를 짜면된다.

+ 당연히 변수의 타입은 배열 또는 컬렉션에서 꺼내오기 때문에 배열 또는 컬렉션의 요소의 타입과 같아야한다.

 

 

기존 for문과의 비교

int[] arr = new int[]{1, 2, 3, 4, 5};

for (int i = 0; i < arr.length; i++) {  //기존의 for문
	System.out.print(arr[i]);
}

System.out.println();
for (int temp : arr) {  //향상된 for문
	System.out.print(temp);
}

//출력 결과
//12345
//12345

 위쪽은 일반적인 for문, 아래쪽은 향상된 for문으로 작성되었다. 두 for문은 동등하며, 향상된 for문이 더 간결하다는 것을 알 수 있다.

 

 하지만 향상된 for문은 배열이나 컬렉션에서 저장되어 있는 요소들을 읽어오는 용도로만 사용할 수 있고, 저장되어 있는 값을 수정할 수 없다는 제약이 있다.

공유하기

facebook twitter kakaoTalk kakaostory naver band