[Java(4)] 반복문, for문부터 do-while문까지 흐름으로 이해하기

2026. 6. 18. 17:50·웹 개발/JAVA

안녕하세요~ 경제적 자유입니다.

 

오늘은 Java의 for문, enhanced for문, do-while문에 대해 정리해보려고 합니다.

 

더 자세히 공부하고 싶다면 아래 문서도 함께 참고해보세요.

  • 참고 링크: https://www.programiz.com/java-programming/for-loop
  • 참고 링크: https://www.programiz.com/java-programming/enhanced-for-loop
  • 참고 링크: https://www.programiz.com/java-programming/do-while-loop

 


 

1. for문

 

for문은 반복 횟수가 어느 정도 정해져 있을 때 자주 사용하는 반복문입니다.

 

기본 문법

for (초기식; 조건식; 증감식) {
    // 반복해서 실행할 코드
}

 

각 부분은 이렇게 보면 됩니다.

 

초기식은 반복을 시작할 때 한 번만 실행됩니다.

조건식은 반복을 계속할지 판단하는 부분입니다. 조건식이 true이면 반복하고, false이면 반복을 멈춥니다.

증감식은 반복이 한 번 끝날 때마다 실행됩니다. 보통 숫자를 1씩 증가시키거나 감소시킬 때 사용합니다.

 

흐름으로 보면 아래와 같습니다.

 

초기식 실행
조건식 검사
조건식이 true이면 코드 실행
증감식 실행
다시 조건식 검사
조건식이 false이면 반복 종료

 


 

예제

public class Main {
    public static void main(String[] args) {
        String name = "상구";

        for (int day = 1; day <= 5; day++) {
            System.out.println(name + "가 Java 공부를 한 지 " + day + "일차입니다.");
        }
    }
}

// 실행 결과:
// 상구가 Java 공부를 한 지 1일차입니다.
// 상구가 Java 공부를 한 지 2일차입니다.
// 상구가 Java 공부를 한 지 3일차입니다.
// 상구가 Java 공부를 한 지 4일차입니다.
// 상구가 Java 공부를 한 지 5일차입니다.

 


 

2. enhanced for문

enhanced for문은 Java에서 for-each문이라고도 부릅니다.

 

일반 for문이 인덱스를 직접 다루는 방식이라면, enhanced for문은 배열이나 컬렉션에 들어 있는 값을 하나씩 바로 꺼내서 사용하는 방식입니다.

 

예를 들어 배열 안에 이름들이 들어 있을 때, 굳이 names[0], names[1]처럼 인덱스를 직접 쓰지 않아도 됩니다.

배열 안의 값을 처음부터 끝까지 하나씩 꺼내고 싶다면 enhanced for문이 훨씬 읽기 좋습니다.

 

기본 문법

for (자료형 변수명 : 배열또는컬렉션) {
    // 반복해서 실행할 코드
}

 

여기서 자료형은 배열이나 컬렉션 안에 들어 있는 값의 타입입니다.

 

변수명은 반복할 때마다 하나씩 꺼낸 값을 담는 변수입니다.

 

콜론 :의 오른쪽에는 반복할 배열이나 컬렉션이 옵니다.

 

배열에서 첫 번째 값을 꺼냄
변수에 담음
반복문 안의 코드 실행
다음 값을 꺼냄
다시 실행
꺼낼 값이 없으면 반복 종료

 


 

예제

 

public class Main {
    public static void main(String[] args) {
        String name = "상구";
        String[] topics = {"for문", "enhanced for문", "do-while문"};

        for (String topic : topics) {
            System.out.println(name + "가 공부할 Java 개념: " + topic);
        }
    }
}

// 실행 결과:
// 상구가 공부할 Java 개념: for문
// 상구가 공부할 Java 개념: enhanced for문
// 상구가 공부할 Java 개념: do-while문

 

이 코드에서는 topics 배열 안에 문자열 3개가 들어 있습니다.

 

enhanced for문은 배열의 첫 번째 값인 "for문"을 topic에 담고 출력합니다.

그다음 "enhanced for문"을 꺼내고, 마지막으로 "do-while문"을 꺼냅니다.

배열 안의 모든 값을 다 꺼내면 반복문은 자연스럽게 끝납니다.

 

이 방식은 배열이나 컬렉션의 모든 값을 처음부터 끝까지 순서대로 확인할 때 사용하기 좋습니다.

 

다만 인덱스 번호가 꼭 필요한 상황이라면 일반 for문이 더 적절합니다.

 

예를 들어 “몇 번째 요소인지 같이 출력해야 하는 경우”에는 for (int i = 0; i < 배열.length; i++) 형태가 더 편할 수 있습니다.

 


 

3. do-while문

 

일반적인 반복문은 조건을 먼저 확인한 뒤 실행할지 말지 결정합니다.

 

하지만 do-while문은 일단 한 번 실행한 다음 조건을 확인합니다.

 

그래서 조건이 처음부터 거짓이어도, 반복문 안의 코드는 최소 한 번 실행됩니다.

 

이런 구조는 “일단 한 번은 보여줘야 하는 코드”에 잘 어울립니다.

 


기본 문법

do {
    // 먼저 한 번 실행할 코드
} while (조건식);

 

여기서 중요한 점은 while (조건식); 뒤에 세미콜론(;)이 붙는다는 것입니다.

 

일반 while문과 다르게 do-while문은 문장 끝에 세미콜론이 필요합니다.

 

do 블록 실행
조건식 검사
조건식이 true이면 다시 do 블록 실행
조건식이 false이면 반복 종료

 


 

예제

 

public class Main {
    public static void main(String[] args) {
        String name = "상구";
        int count = 1;

        do {
            System.out.println(name + " 출석 체크 " + count + "회 완료");
            count++;
        } while (count <= 3);
    }
}

// 실행 결과:
// 상구 출석 체크 1회 완료
// 상구 출석 체크 2회 완료
// 상구 출석 체크 3회 완료

 

이 코드는 먼저 do 블록 안의 문장을 실행합니다.

 

처음에는 count가 1이므로 "상구 출석 체크 1회 완료"가 출력됩니다.

그다음 count++로 값이 2가 되고, while (count <= 3) 조건을 검사합니다.

 

조건이 참이면 다시 실행하고, count가 4가 되는 순간 조건이 거짓이 되어 반복문이 끝납니다.

 


 

조건이 처음부터 거짓이어도 한 번은 실행된다

do-while문의 특징을 더 확실히 보려면 조건이 처음부터 거짓인 예제를 보면 됩니다.

public class Main {
    public static void main(String[] args) {
        String name = "상구";
        int count = 5;

        do {
            System.out.println(name + "는 일단 한 번 실행됩니다.");
        } while (count < 3);
    }
}

// 실행 결과:
// 상구는 일단 한 번 실행됩니다.

 

 

count 는 5, 조건식은 count < 3이므로 처음부터 거짓이지만 출력문은 한 번 실행됩니다.

 

왜냐하면 do-while문은 조건을 먼저 검사하지 않고, 코드를 먼저 실행한 뒤 조건을 검사하는 구조이기 때문입니다.

 

이 점이 일반 while문과 가장 큰 차이입니다.

 


 

for문, enhanced for문, do-while문은 언제 사용할까?

 

반복문은 모두 “코드를 여러 번 실행한다”는 공통점이 있습니다.

하지만 실제로 사용할 때는 상황에 따라 조금씩 다르게 선택합니다.

 

for문은 반복 횟수나 인덱스가 중요할 때 사용하기 좋습니다.

 

public class Main {
    public static void main(String[] args) {
        String name = "상구";

        for (int i = 1; i <= 3; i++) {
            System.out.println(i + "번째 반복: " + name);
        }
    }
}

// 실행 결과:
// 1번째 반복: 상구
// 2번째 반복: 상구
// 3번째 반복: 상구

 

enhanced for문은 배열이나 컬렉션의 값을 하나씩 꺼내서 사용할 때 좋습니다.

 

public class Main {
    public static void main(String[] args) {
        String[] names = {"상구", "민수", "지훈"};

        for (String name : names) {
            System.out.println(name + "님 안녕하세요.");
        }
    }
}

// 실행 결과:
// 상구님 안녕하세요.
// 민수님 안녕하세요.
// 지훈님 안녕하세요.

 

do-while문은 조건과 상관없이 최소 한 번은 실행해야 할 때 사용합니다.

 

public class Main {
    public static void main(String[] args) {
        String name = "상구";
        boolean keepGoing = false;

        do {
            System.out.println(name + "에게 메뉴를 한 번 보여줍니다.");
        } while (keepGoing);
    }
}

// 실행 결과:
// 상구에게 메뉴를 한 번 보여줍니다.

 


 

마무리

오늘은 Java의 for문, enhanced for문, do-while문에 대해 정리해봤습니다.

 

뭔가 for문은 동일하게 사용을 할 수 있었는데 enhancedfor문 부터는 어려움이 있는것 같네요.. do-while은 무조건 첫번째는 실행한다는 특징이 있는 것도 새로운 것 같아요.

 

enhancedfor문을 조금 더 복습하면서 알고리즘에 사용할 수 있을때까지 한번 해봐야죠..

 

공부화이팅!

 

'웹 개발 > JAVA' 카테고리의 다른 글

[Java(5)] 흐름제어: break, continue, switch  (0) 2026.06.18
[Java(6)] 배열, 한번에 여러 값을 다루는 가장 기본적인 방법  (0) 2026.06.18
[Java(1)] Java 변수와 자료형  (0) 2026.06.17
[Java(3)]조건문, 코드가 스스로 판단하게 만드는 첫 번째 문법  (0) 2026.06.17
[Java(2)]연산자, 입출력, 표현식·문장·블록 쉽게 이해하기  (0) 2026.06.17
'웹 개발/JAVA' 카테고리의 다른 글
  • [Java(5)] 흐름제어: break, continue, switch
  • [Java(6)] 배열, 한번에 여러 값을 다루는 가장 기본적인 방법
  • [Java(1)] Java 변수와 자료형
  • [Java(3)]조건문, 코드가 스스로 판단하게 만드는 첫 번째 문법
Sangenie
Sangenie
경제적 자유를 위한 하루 공부.
  • Sangenie
    새싹
    Sangenie
  • 전체
    오늘
    어제
    • 분류 전체보기 (43)
      • AI (0)
        • 하네스 엔지니어링 (0)
      • 웹 개발 (25)
        • Javascript (16)
        • JAVA (9)
      • 토막지식 (1)
      • TIL (7)
      • 경제 (8)
        • 경제뉴스 (7)
        • 비트코인 분석 (1)
      • Library (1)
        • IT (1)
        • Finance (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    코딩공부
    반복문
    비트코인
    java
    til
    조건문
    경제뉴스
    자바
    JavaScript
    자바기초
    암호화폐
    가상자산
    자바스크립트
    프론트엔드
    경제공부
    java공부
    개발공부
    프론트엔드공부
    TodayILearned
    객체
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
Sangenie
[Java(4)] 반복문, for문부터 do-while문까지 흐름으로 이해하기
상단으로

티스토리툴바