1. 개요

이 기사에서는 for 루프 를 사용하여 명령문 또는 명령문 그룹을 반복적으로 실행하는 Java 언어의 핵심 측면을 살펴보겠습니다 .

2. 간단한 for 루프

for 루프는 루프 카운터를 증가시키고 평가하여 특정 작업을 반복할 수 있도록 하는 제어 구조입니다 .

첫 번째 반복 전에 루프 카운터가 초기화되고 조건 평가가 수행된 다음 단계 정의가 수행됩니다(일반적으로 단순 증분).

for 루프 의 구문은 다음과 같습니다.

for (initialization; Boolean-expression; step) 
  statement;

간단한 예를 들어 보겠습니다.

for (int i = 0; i < 5; i++) {
    System.out.println("Simple for loop: i = " + i);
}

for에서 사용되는 initialization , Boolean -expression단계 는 선택 사항입니다. 다음은 무한 for 루프의 예입니다.

for ( ; ; ) {
    // Infinite for loop
}

2.1. 루프 에 대해 레이블 이 지정됨

for 루프 에 레이블을 지정할 수도 있습니다 . 특정 for 루프 에서 중단 / 계속할 수 있도록 중첩된 for 루프가 있는 경우 유용합니다 .

aa: for (int i = 1; i <= 3; i++) {
    if (i == 1)
      continue;
    bb: for (int j = 1; j <= 3; j++) {
        if (i == 2 && j == 2) {
            break aa;
        }
        System.out.println(i + " " + j);
    }
}

3. 향상된 for 루프

Java 5부터 배열 또는 컬렉션의 모든 요소를 ​​반복하기 쉽게 만드는 향상된 for 루프라는 두 번째 종류의 for 루프가 있습니다.

향상된 for 루프 의 구문은 다음과 같습니다.

for(Type item : items)
  statement;

이 루프는 표준 for 루프에 비해 단순하므로 루프를 초기화할 때 두 가지만 선언하면 됩니다.

  1. 현재 반복하고 있는 요소의 핸들
  2. 우리가 반복하고 있는 소스 배열/컬렉션

따라서 다음과 같이 말할 수 있습니다. 항목의 각 요소에 대해 요소를 항목 변수 에 할당하고 루프 본문을 실행합니다 .

간단한 예를 살펴보겠습니다.

int[] intArr = { 0,1,2,3,4 }; 
for (int num : intArr) {
    System.out.println("Enhanced for-each loop: i = " + num);
}

이를 사용하여 다양한 Java 데이터 구조를 반복할 수 있습니다.

주어진 List<String> List 개체 – 반복할 수 있습니다.

for (String item : list) {
    System.out.println(item);
}

유사하게 Set<String> 세트 를 반복할 수 있습니다 .

for (String item : set) {
    System.out.println(item);
}

그리고 Map<String,Integer> 맵 이 주어지면 반복할 수도 있습니다.

for (Entry<String, Integer> entry : map.entrySet()) {
    System.out.println(
      "Key: " + entry.getKey() + 
      " - " + 
      "Value: " + entry.getValue());
}

3.1. Iterable.forEach()

Java 8부터 for-each 루프를 약간 다른 방식으로 활용할 수 있습니다. 이제 Iterable 인터페이스에 수행하려는 작업을 나타내는 람다 표현식을 허용하는 전용 forEach() 메서드가 있습니다.

내부적으로는 단순히 작업을 표준 루프에 Delegation합니다.

default void forEach(Consumer<? super T> action) {
    Objects.requireNonNull(action);
    for (T t : this) {
        action.accept(t);
    }
}

예를 살펴보겠습니다.

List<String> names = new ArrayList<>();
names.add("Larry");
names.add("Steve");
names.add("James");
names.add("Conan");
names.add("Ellen");

names.forEach(name -> System.out.println(name));

4. 결론

이 빠른 사용방법(예제)에서는 Java의 for 루프를 살펴보았습니다.

항상 그렇듯이 GitHub 에서 예제를 찾을 수 있습니다 .

Generic footer banner