트랙
/
Java
Java
/
학습 과정
/
for-each문
fo

for-each문 에서 Java

6개의 연습 문제

for-each문 소개

For-Each 문은 컬렉션의 각 원소마다 코드 블록을 실행하는 방법을 제공해요. 일부 문서(예: Oracle 문서)에서는 이를 향상된 for문이라고 불러요.

일반적인 문법은 다음과 같아요:

for(declaration: collection) {
    body;
}

declaration에서는 컬렉션에서 가져와 대입될 값을 담을 변수를 선언해요.

collection은 루프 변수에 대입될 값들을 담고 있는 배열이나 컬렉션이에요.

body에는 컬렉션의 각 값마다 한 번씩 실행될 문이 들어가요.

예를 들면 다음과 같아요:

char[] vowels = {'a', 'e', 'i', 'o', 'u'};

for(char vowel: vowels) {
    System.out.println(vowel);
}

이 코드는 다음을 출력해요:

a
e
i
o
u

일반적으로 for-each문은 다음과 같은 이유로 for문보다 선호해요:

  • for-each문은 모든 값을 순회하는 것이 보장돼요.
  • for-each문은 더 _선언적_이에요. 즉, 코드가 어떻게 하는지가 아니라 무엇을 하는지를 전달해요.
  • for-each문은 실수가 날 여지가 거의 없는 반면, for문은 off-by-one 오류가 나기 쉬워요 (<를 쓸지 <=를 쓸지 생각해 봐요).
  • for-each문은 모든 컬렉션 타입에서 동작해요. 인덱스로 원소에 접근하는 것을 지원하지 않는 타입(예: Set)도 마찬가지예요.
GitHub에서 편집 링크가 새 창이나 탭에서 열려요

for-each문 배우기