프로그램은 단순히 순차적으로 실행되는 것만으로는 부족하다. 반복적인 작업을 효율적으로 처리해야 하고, 이때 필요한 것이 바로 반복문이다. 자바는 while, do-while, for 3가지 반복문을 제공한다.
반복문의 필요성
int count = 0;
count++;
System.out.println(count);
count++;
System.out.println(count);
count++;
System.out.println(count);
- 위 코드는 같은 코드가 계속 반복되고 있다.
- 만약 100번 실행해야 한다면 코드 작성이 매우 번거로울 거다.
- 이럴 때 반복문을 사용하면 된다.
while문
조건이 참(true)인 동안 코드 블록을 반복 실행한다.
int count = 0;
while (count < 3) {
count++;
System.out.println("현재 숫자: " + count);
}
실행 결과
현재 숫자: 1
현재 숫자: 2
현재 숫자: 3
- 조건식이 거짓이 되면 종료된다.
- 반복 횟수를 제어하는 변수(i 등)를 적절히 증가시켜야 무한 루프를 방지할 수 있다.
do-while문
while문과 달리 조건과 상관없이 최소 1회 실행된다.
int i = 10;
do {
System.out.println("현재 숫자: " + i);
i++;
} while (i < 3);
실행 결과
현재 숫자: 10
입력값을 먼저 처리하고 나중에 조건을 검사해야 할 때 유용하다.
break & continue
- break : 반복문 즉시 종료
- continue : 현재 반복 건너뛰고 다음 반복으로 이동
// break 예시
int sum = 0;
for (int i = 1; ; i++) {
sum += i;
if (sum > 10) {
System.out.println("합이 10보다 크면 종료: i=" + i + ", sum=" + sum);
break;
}
}
// continue 예시
for (int i = 1; i <= 5; i++) {
if (i == 3) continue;
System.out.println(i);
}
출력
합이 10보다 크면 종료: i=5, sum=15
1 2 4 5
for문
반복 횟수가 명확할 때 사용한다.
for (int i = 1; i <= 10; i++) {
System.out.println(i);
}
- 초기식: 변수 선언 및 초기화 설정 (int i = 1)
- 조건식: 반복 조건 설정 (i <= 10)
- 증감식: 반복 후 동작 설정 (i++)
아래와 같이 모두 생략할 수 있다. 단, 생략해서 각 영역을 구분하는 세미콜론(;)은 유지해야 한다.
for(;;) {
// 코드
}
이렇게 하면 조건이 없기 때문에 무한 반복하는 코드가 된다. 따라서 아래와 같은 코드이다.
while (true) {
// 코드
}
for문을 좀 더 편리하게 사용하도록 도와주는 향상된 for문 또는 for-each문으로 불리는 반복문도 있다.
중첩 반복문
반복문 안에 반복문을 작성할 수 있습니다. 대표적인 예제로 구구단이 있다.
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= 9; j++) {
System.out.println(i + " * " + j + " = " + (i * j));
}
}
for vs while 비교

- 정해진 횟수 → for
- 조건 충족 시까지 → while
정리하자면...
- 반복문 종류: while, do-while, for
- break, continue를 활용해 흐름 제어 가능
- 중첩 반복문을 통해 다차원적인 문제 해결 가능
- 상황에 맞게 for vs while 선택
핵심은 반복의 종료 조건을 명확히 하고, 코드의 가독성을 유지하는 것이다.
'java' 카테고리의 다른 글
| Java 배열(Array) 정리 (0) | 2025.09.10 |
|---|---|
| Java 스코프(Scope)와 형변환(Type Casting) 정리 (0) | 2025.09.09 |
| Java 조건문(Conditional Statements) 정리 (0) | 2025.09.09 |
| Java 연산자(Operator) 정리 (0) | 2025.09.08 |
| Java 변수(Variable) 정리 (0) | 2025.09.08 |