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 루프에 비해 단순하므로 루프를 초기화할 때 두 가지만 선언하면 됩니다.
- 현재 반복하고 있는 요소의 핸들
- 우리가 반복하고 있는 소스 배열/컬렉션
따라서 다음과 같이 말할 수 있습니다. 항목의 각 요소에 대해 요소를 항목 변수 에 할당하고 루프 본문을 실행합니다 .
간단한 예를 살펴보겠습니다.
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 에서 예제를 찾을 수 있습니다 .