기존 for문 구조
// for문
for(초기화; 조건식; 증감식;) {
조건식이 true일 경우 수행할 코드
}
// ex
String[] numbers = {"one", "two", "three"};
for(int i=0; i<numbers.length; i++) {
System.out.println(numbers[i]);
}
- i가 0부터 numbers 배열의 전체 길이까지 순차적으로 반복해서 출력
결과
one
two
three
foreach loop
기존 for문 구조를 for each문으로 변경하면 아래와 같다.
// for each문
for (type var: iterate) {
body-of-loop
}
// ex
String[] numbers = {"one", "two", "three"};
for(String number: numbers) {
System.out.println(number);
}
iterate
: loop를 돌릴 객체- type은 루프를 돌릴 수 있는 형태인 배열 및 ArrayList등이 가능.
iterate
객체에서 한개씩 순차적으로 var에 대입되어 for 문을 수행
ArrayList로 재 구현하는 경우 아래와 같다
// ArrayList ex
ArrayList<String> numbers = new ArrayList<String>();
numbers.add("one");
numbers.add("two");
numbers.add("three");
for(String number: numbers) {
System.out.println(number);
}
결과는 기존 for문의 결과와 같다.
foreach문의 제약
- 따로 반복횟수를 명시하는게 불가능
- 1스탭씩 순차적으로 반복될때만 사용이 가능하다
Comments