반복문

기존 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스탭씩 순차적으로 반복될때만 사용이 가능하다

Reference


04-5 for each 문 - 점프 투 자바

Comments