While문에 대해서 알아봅시다.
기본 문법 (Syntax)
while (조건 부분) {
수행 부분
}
while문은 조건 부분이 true인 동안 계속 반복해서 수행 부분을 실행하는 구문입니다. 수행부분에서 조건이 false가 되도록 바꾸어 주거나 break;를 통해서 반복문을 종료시킬수 있습니다.
while문은 반복 횟수를 정확히 알 수 없는 동작, 혹은 특별한 조건에서만 멈추어야할 경우 등에서 자주 사용합니다. 다음시간에 배울 for문은 반복 횟수를 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보다 크거나 같고, 우리가 마지막에 더한 값을 알 수 있습니다.
다른 방식
이 문제를 break을 써서 푸는 방법도 있습니다.
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인 경우에 반복문은 끝나게 됩니다.
'Programming > Java' 카테고리의 다른 글
자바 기초부터 ABC (12) - 배열 (2) | 2021.11.17 |
---|---|
자바 기초부터 ABC (11) - For (0) | 2021.11.16 |
자바 기초부터 ABC (9) - Switch (0) | 2021.11.14 |
자바 기초부터 ABC (8) - if, else (0) | 2021.11.14 |
자바 기초부터 ABC (7) - 형변환 (0) | 2021.11.13 |