자바의 반복문 종류

가끔 기억이 나지 않을 때 참고하려고 정리했습니다.

 

자바에서는 반복문이 기본적으로 5가지가 있습니다.

4가지라고 생각하실 수 있지만 Lamda 를 이용한 반복문까지 포함했습니다.

 

자바의 반복문

for 문

반복횟수가 정해져 있을때 사용하면 좋습니다.

초기값, 조건, 증감식을 사용해서 반복을 제어합니다.

public class ForLoopExample {
    public static void main(String[] args) {
        for (int i = 1; i <= 5; i++) { // i를 1부터 5까지 증가시키면서 반복
            System.out.println("i = " + i);
        }
    }
}

 

실행 결과

i = 1
i = 2
i = 3
i = 4
i = 5

 

while 문

반복횟수가 정해지지 않았을 때 사용하면 좋습니다.

조건이 true 일 동안 계속해서 반복합니다.

public class WhileLoopExample {
    public static void main(String[] args) {
        int i = 1;  // 초기값
        while (i <= 5) {  // 조건
            System.out.println("i = " + i);
            i++;  // 증감식
        }
    }
}

 

실행결과

i = 1
i = 2
i = 3
i = 4
i = 5

 

do-while 문

조건을 나중에 검사하므로 반드시 한번은 실행됩니다.

while 문과 거의 비슷하지만, 반복을 최소 한번은 보장합니다.

public class DoWhileLoopExample {
    public static void main(String[] args) {
        int i = 1; // 초기값
        do {
            System.out.println("i = " + i);
            i++; // 증감식
        } while (i <= 5); // 조건
    }
}

 

forEach 문

배열이나 리스트 같은 자료구조를 쉽게 반복할 때 사용합니다.

for-each 문은 배열이나 컬렉션(ArrayList 등) 을 더 직관적으로 순회할 수 있도록 도와줍니다.

참고로 인덱스를 사용할 필요도 없습니다.
public class ForEachExample {
    public static void main(String[] args) {
        int[] numbers = {1, 2, 3, 4, 5};  // 배열 선언

        for (int num : numbers) { // numbers 배열의 모든 요소를 하나씩 꺼냄
            System.out.println("num = " + num);
        }
    }
}

 

실행결과

num = 1
num = 2
num = 3
num = 4
num = 5

 

람다식을 이용한 forEach

람다식을 사용하여 리스트나 배열의 요소를 반복할 수 있습니다.

기존의 for 문이나 for-each 문을 대신해서 더 간결한 코드를 작성할 수 있습니다.

Java 8 부터 사용이 가능합니다.

 

import java.util.ArrayList;
import java.util.List;

public class LambdaForEachExample {
    public static void main(String[] args) {
        List<String> names = new ArrayList<>();
        names.add("철수");
        names.add("영희");
        names.add("민수");

        // 람다식 forEach 사용
        names.forEach(name -> System.out.println("이름: " + name));
    }
}

 

실행결과

이름: 철수
이름: 영희
이름: 민수

 

만약 배열에서도 람다식을 이용하여 forEach 을 사용하려면 Arrays.stream() 을 사용하시면 됩니다.

import java.util.Arrays;

public class LambdaForEachArray {
    public static void main(String[] args) {
        String[] fruits = {"사과", "바나나", "딸기"};

        // 배열을 스트림으로 변환 후 forEach 사용
        Arrays.stream(fruits).forEach(fruit -> System.out.println("과일: " + fruit));
    }
}

 

실행결과

과일: 사과
과일: 바나나
과일: 딸기

 

'Java' 카테고리의 다른 글

유용한 람다식 함수들  (1) 2025.02.04
Java 의 Call by Value, Call by Reference  (1) 2025.01.06
간단한 에러 출력 방법과 문제점  (0) 2025.01.02
자바의 람다 표현식  (1) 2024.12.26
Java - Enum  (1) 2024.12.24