- 특정 실행문을 반복할 때 사용
- 특정 반복 횟수가 정해지지 않은 경우에 사용한다.
[형식]
while(조건문) {
실행문;
}
🎯 잔액과 인출금(인출이 몇 번 반복될지 모름!)
// 잔액 balance, 인출금 money
// 잔액이 인출금보다 같거나 많을 때까지만 출금 가능!
int balance = 25000;
int money = 3000;
while(balance >= money) {
System.out.println("잔액 " + balance + "원, 인출금 " + money);
balance -= money; // 인출될 때마다 잔액에서 인출금만큼 빠져나감
}
📰 콘솔창 결과

- for문, while문, switch문을 종료할 때 사용
🎯 목표치까지 모금하기
// 모금 목표 200,000원
// 한번에 7000원씩 모금
int total = 0;
int money = 7000;
int serial = 0;
int goal = 200000;
while(true) {
if(total >= goal) {
break;
}
total += money; // 누적 모금액
serial++; // 모금 회차
System.out.println(serial + "회 모금액 " + money + "현재 " + total + "원"
}
=> 누적된 총 모금액이 목표 금액과 같거나 처음 초과되었을 때 break를 걸어준다.
📰 콘솔창 결과

- 반복문의 시작 지점으로 이동한다.
- 실행에서 제외할 코드가 있는 경우 사용!
[형식]
while(조건문) {
a;
b;
c;
continue; // a, b, c만 실행하고 다시 while문으로 이동한다. d, e까지는 실행 하지 않음!
d;
e;
}
🎯 1 ~ 100까지의 숫자 중 3의 배수는 제외하고 모두 더하기
int sum = 0;
int n = 0;
while(n <= 100) {
n++;
if(n % 3 == 0) { // 그중에 n이 3의 배수면,
continue; // 아래 sum += n 단계로 내려가지 않고 다시 while문으로 이동해 n++를 실행.
}
sum += n; // 따라서 3의 배수는 이 과정을 거치지 않는다.
}
System.out.println("합계 " + sum); // sum = 3367