향상된 for문 이란?
기본적으로 우리가 알고있는 for문의 경우 사용법은
for(int i = 0; i < 5; i++) {
System.out.println(i)
}
의 방식으로 인덱스를 설정해, 설정된 인덱스 만큼 코드가 순회되는 방식이다.
하지만 기존의 개발자들이 코드를 작성함의 편의를 위해 만들어 낸 것이 바로
향상된 for문 / for each 문이다
향상된 for문 기본 구조
향상된 for문의 기본적인 구조는 이러하다.
for(변수 : 배열 또는 컬렉션) {
//반복 실행할 코드
}
변수의 경우 반복 실행할 코드에서 사용할 변수 명을 선언하는 것이며,
배열 또는 컬렉션은 실제로 요소를 순회할 배열 또는 컬렉션을 의미한다.
향상된 for문 예시
int [] numbers = {1, 2, 3, 4, 5};
for (int num : numbers) {
System.out.print(num + " ");
}
// output: 1 2 3 4 5
List<String> food = Arrays.asList("순대국", "뼈해장국", "자장면");
for(String foodName : food) {
System.out.print(foodName + " ");
}
//output: 순대국 뼈해장국 자장면
자바스크립트의 map 함수와 비슷한 면모를 보여주는 것 같다.
사용할 수 없는 예시
주의해야 할 점이 있다.
향상된 for문은 다양한 곳에서 손 쉽게 사용될 수 있을 것 이라 생각했으나
for문에서 증가하는 인덱스 값을 표기하던 기능을 사용할 수 없다.
전역변수로 ` int i = 0 ` 를 사용해 강제적으로 i 값을 부여할 수 있으나, 이렇게 사용할바에는 일반 for문을 사용하는 것이 더 낫다.