조건 중심으로 반복하고 본문 안에서 상태를 변경합니다.
while은 반복 횟수보다 종료 조건이 핵심일 때 적합합니다. 조건을 먼저 검사하므로 처음부터 거짓이면 한 번도 실행되지 않습니다.
balance가 10000, 7000, 4000일 때는 조건 balance >= 3000이 참이라 본문이 세 번 실행되고, 그때마다 3000원이 빠지고 count가 1씩 늘어납니다. 네 번째 검사에서는 balance가 1000이라 조건이 거짓이 되므로 출력은 구매 3회, 남은 금액 1000원입니다. 반복 횟수를 미리 정하지 않아도 남은 금액이 반복의 끝을 정합니다.
do { } while (조건); 형태는 본문을 먼저 한 번 실행한 뒤 조건을 검사합니다. 그래서 balance가 처음부터 1000이어도 본문이 한 번은 돌아 잔액이 음수가 될 수 있으므로, 최소 한 번은 반드시 실행해야 하는 작업에만 씁니다.
조건에 사용한 값을 본문에서 바꾸지 않으면 무한 루프가 될 수 있습니다.
직접 바꿔보세요상품 가격을 2500원으로 바꾸고 횟수를 확인하세요.