본문으로 건너뛰기
실습하기

While 반복문

특정 조건이 만족될 때까지 지속적으로 반복할 때는 while 반복문을 사용합니다.

예를 들면, "물이 끓을 때까지 기다리다가 끓으면 불을 끈다"라는 상황을 코드로 표현할 때 while 반복문을 사용할 수 있습니다.

while 반복문은 주어진 조건이 (true)일 동안 코드 블록을 반복적으로 실행합니다.


while 반복문 구조
while (조건) {
// 조건이 참인 동안 실행할 코드
}

예시 1: 숫자 카운팅

아래는 number > 0 조건이 참일 동안 number를 1씩 줄이면서 숫자를 카운팅하는 코드입니다.

숫자 5부터 1까지 출력
let number = 5;

while (number > 0) {
console.log(number);
number--;
}

이 예시에서 number가 1보다 클 동안 console.log(number);를 실행하고, 그 다음에 number의 값을 1만큼 줄입니다.


예시 2: 자금 관리

지갑에 10,000원 있고, 2,000원짜리 과자를 계속 구매하다가 돈이 3,000원 미만이 되면 그만 먹는 상황을 코드로 표현해보겠습니다.

과자 구매 코드
let money = 10000; // 지갑에 있는 자금 초깃값
let i = 0; // 과자를 사먹은 횟수 초깃값

// 자금이 3000원 이상일 때만 반복
while (money > 3000) {
i++; // 과자를 사먹은 횟수
money -= 2000; // 과자값을 지갑에서 빼기
console.log(i + '번 구매 후 ' + money + '원 남음');
}

console.log(`남은 돈: ${money}`);

while문 주의 사항: 무한루프

while 문을 사용할 때 가장 주의해야 할 점은 무한루프에 빠지지 않도록 하는 것입니다.

무한루프란 조건이 항상 참이어서 반복문이 영원히 멈추지 않는 상황을 뜻합니다.

이러한 무한루프는 프로그램의 응답을 멈추게 하거나 시스템 자원을 과도하게 사용할 수 있습니다.

예를 들어, 다음 코드는 무한루프에 빠집니다.

무한루프 예시
let number = 5;

while (number > 0) {
console.log(number);
// number의 값이 줄어들지 않으므로 조건은 항상 참
}

무한루프를 피하려면 반복문 내에서 조건이 언젠가 거짓이 될 수 있도록 항상 코드를 검토하고 테스트해야 합니다.

다음 내용이 궁금하다면?

코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!