본문으로 건너뛰기
Advertisement

4.2 반복문 (Loops)

반복문은 어떤 작업이 반복적으로 수행되도록 할 때 사용됩니다. 주어진 조건이 true인 동안 블록 안의 문장들을 반복성 있게 실행합니다.

1. for 문

for문은 반복 횟수를 이미 정확히 알고 있을 때 주로 사용합니다. 초기화, 조건식, 증감식 그리고 반복할 블록으로 구성되어 있어, 세 부분을 명시적으로 한 줄에서 확인할 수 있습니다.

// 구조: for(초기화; 조건식; 증감식)
for (int i = 1; i <= 5; i++) {
System.out.println("Hello Java! " + i);
}

// 1부터 10까지의 합 구하기
int sum = 0;
for(int i = 1; i <= 10; i++) {
sum += i; // 각 순회마다 i의 값을 누적
}
System.out.println("합계: " + sum);

향상된 for 문 (Enhanced for loop)

배열이나 컬렉션의 모든 요소를 단순히 읽기만 할 목적으로 전체 순회할 때 코드를 매우 간결하게 작성할 수 있는 문법입니다. (JDK 1.5 추가)

int[] numbers = {10, 20, 30};

// Java의 "향상된 for 문"
for (int num : numbers) {
System.out.println(num); // 10, 20, 30이 차례로 출력됨
}

2. while 문

for문과는 반대로, 반복 횟수를 알 수 없고 조건에 따라 반복을 결정할 때 주로 쓰입니다. 조건식이 true인 한 블록 안의 코드를 계속해서 반복합니다.

int i = 5;

// 조건: i가 0보다 클 때까지
while(i > 0) {
System.out.println(i + " - 파이팅!");
i--; // 탈출 조건을 위해 블록 내에서 값을 변화시켜 주어야 합니다.
}

주의점: 무한 루프

조건식이 항상 true이면, 영원히 종료되지 않는 무한 루프에 빠지게 됩니다. while문의 경우 증감식을 블록 내부에 직접 작성해야 하므로 실수로 누락하지 않도록 주의가 필요합니다.

while(true) { // 무한 루프 작성법
// 어떤 조건에 의해 break 하도록 로직 구성이 필수
}

3. do-while 문

while문의 변형으로 블록 { }먼저 1회 수행한 후에 조건식을 평가 합니다. 즉 조건이 거짓이라도 무조건 한 번은 실행된다는 점이 일반 while문과의 차이점입니다.

int input = 0;
do {
// 1번은 무조건 실행됨, 이후 input 값에 따라 반복 여부 결정
System.out.println("값을 입력하세요. 종료는 1입니다.");
// input = 사용자로부터 값을 입력받는 로직 (예: 스캐너)
} while(input != 1);

사용자 입력을 받을 때나 조건을 나중에 검사해야 할 때 유리한 패턴입니다.

Advertisement