while (조건 부분) { 수행 부분 }
while문은 조건 부분이 true인 동안
계속 반복해서 수행 부분을 실행하는 구문수행부분에서 조건이 false가 되도록 바꾸어 주거나
break;를 통해서 반복문을 종료시킬수 있다.
while문은 반복 횟수를 정확히 알 수 없는 동작,
혹은 특별한 조건에서만 멈추어야할 경우 등에서 자주 사용
1, 2, 3, ... 을 하나씩 더한 값이 10000보다 크거나 같아졌을 때,
마지막으로 더한 값은 무엇일까?int sum = 0, i = 1; while (sum < 10000) { sum += i; i++; } System.out.println(sum); System.out.println(i - 1);
10011 141
먼저 while문을 수행하기 전에 필요한 변수들을 준비한다.
합을 기록할 sum과 1씩 증가시키며 더해야 할 i
while문의 조건은 sum < 10000으로 한다.
sum이 10000보다 작을 동안 i를 1씩 증가시키는 과정을 반복해야하기 때문
즉, sum이 10000보다 크거나 같으면 반복문을 멈춘다
조건 부분을 통과하면 sum에 i를 더하고, i에 1을 더한다.
반복문이 끝나고 값들을 출력해보면 예상대로 sum은 10000보다 크거나 같고, 마지막에 더한 값을 알 수 있다.
int sum = 0, i = 1; while (true) { if (sum >= 10000) { break; } sum += i; i++; } System.out.println(sum); System.out.println(i - 1);
10011 141
while (true)를 써줬기 때문에 모든 경우에 반복문에 들어가는데,
그 대신 sum >= 10000가 true인 경우에 반복문은 끝나게 된다.