[JAVA] 04 반복문 for / while

[JAVA] 04 반복문 for / while

반복문은 같은 코드를 여러 번 실행해야 할 때 사용하는 문법이다. 조건문과 함께 사용되며, 프로그램의 흐름을 구성하는 기본 요소 중 하나다.


1. 반복문이란

반복문은 특정 조건이 만족되는 동안 코드를 반복 실행하기 위해 사용한다. 조건이 false가 되는 순간 반복은 종료된다.


2. for 문


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

for 문 기본 예제


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

OUTPUT


0
1
2
3
4

초기식은 한 번만 실행되고, 조건식이 false가 되면 반복이 종료된다.


3. for 문 동작 순서

  1. 초기식 실행
  2. 조건식 검사
  3. 블록 실행
  4. 증감식 실행
  5. 조건식 재검사

조건식은 매 반복마다 검사된다. 이 때문에 조건식이 복잡하면 성능에 영향을 줄 수 있다.


4. while 문


while (조건식) {
    // 반복 실행할 코드
}

while 문 기본 예제


int i = 0;

while (i < 5) {
    System.out.println(i);
    i++;
}

OUTPUT


0
1
2
3
4

while은 조건 중심 반복이다. 증감식이 빠지면 무한 반복이 된다.


5. for 문과 while 문 차이

  • 반복 횟수가 명확 → for
  • 조건 중심 반복 → while
  • 초기식, 증감식이 분산되어 있으면 가독성이 떨어질 수 있음

기능은 동일하지만 코드 의도가 더 잘 드러나는 쪽을 선택하는 것이 중요하다.


6. do-while 문


do {
    // 실행 코드
} while (조건식);

do-while 예제


int n = 10;

do {
    System.out.println(n);
    n++;
} while (n < 5);

OUTPUT


10

조건과 상관없이 최소 한 번은 실행된다. 입력 검증 루프에서 자주 사용된다.


7. break 문

break는 반복문을 즉시 종료한다.


for (int i = 0; i < 10; i++) {
    if (i == 5) {
        break;
    }
    System.out.println(i);
}

OUTPUT


0
1
2
3
4

조건이 충족되면 즉시 반복을 빠져나간다.


8. continue 문

continue는 현재 반복을 건너뛰고 다음 반복으로 이동한다.


for (int i = 0; i < 5; i++) {
    if (i == 2) {
        continue;
    }
    System.out.println(i);
}

OUTPUT


0
1
3
4

특정 조건만 제외하고 반복하고 싶을 때 사용한다.


9. 중첩 반복문


for (int i = 1; i <= 3; i++) {
    for (int j = 1; j <= 3; j++) {
        System.out.println(i + ", " + j);
    }
}

OUTPUT


1, 1
1, 2
1, 3
2, 1
2, 2
2, 3
3, 1
3, 2
3, 3

중첩 반복문은 반복 횟수가 곱으로 증가한다. 3 × 3 = 9번 실행된다.

이 개념은 시간복잡도(O(n²)) 이해에 매우 중요하다.


10. 무한 반복


while (true) {
    // 반복
}

조건이 항상 true이면 무한 반복이 된다. 서버 프로그램에서는 의도적으로 사용되기도 한다.

무한 루프는 반드시 종료 조건이나 break가 포함되어야 한다.


11. 반복문과 성능 (심화)

  • 반복 횟수가 많을수록 성능에 직접적인 영향
  • 중첩 반복문은 실행 횟수가 기하급수적으로 증가
  • 조건식 안에 메서드 호출이 있으면 성능 저하 가능
  • 가능하면 반복문 내부 로직을 단순하게 유지

정리

  • for 문은 반복 횟수가 명확할 때 사용한다.
  • while 문은 조건 중심의 반복에 사용한다.
  • do-while 문은 최소 1회 실행이 보장된다.
  • break와 continue는 반복 흐름을 제어한다.
  • 중첩 반복은 시간복잡도 증가를 의미한다.

 

'Computer Science > Java' 카테고리의 다른 글

[JAVA] 06 메서드(Method)  (0) 2026.02.15
[JAVA] 05 배열(Array)  (0) 2026.02.15
[JAVA] 03 조건문 if / switch  (0) 2026.02.15
[JAVA] DI(의존성 주입)란 무엇인가?  (0) 2026.02.15
[JAVA]추상 클래스와 인터페이스 차이  (0) 2026.02.15