| English | 의미 |
|---|---|
| while loop/waɪl luːp/ | while 루프 |
| loop control variable/luːp kənˈtrəʊl ˈveərɪəbl/ | 루프 제어 변수 |
| infinite loop/ˈɪnfɪnət luːp/ | 무한 루프 |
true인 동안 반복
- while 루프는 조건이
true인 동안 본문을 반복합니다. while (i <= 5) { sum = sum + i; i++; }- 각 반복 전, Java가 조건을 확인하며,
false이면 루프가 종료됩니다. - 반복 횟수를 미리 알 수 없을 때
while를 사용합니다.
각 반복 전 테스트
- 조건은 본문 실행 전 매번 테스트됩니다.
- 첫 번째 확인 시
false라면 본문은 제로 번 실행됩니다. - 각 반복 후 다음 반복 전 조건이 재확인됩니다.
- 이 "확인 후, 필요시 실행"의 순서는 외워두는 것이 좋습니다.
루프 제어 변수
- 루프 제어 변수는 종료를 향해 진행하는 역할을 합니다.
- 루프 전에 초기화하고, 조건에서 사용하며, 본문 안에서 변경해야 합니다.
i이1에서 시작하여, 조건이i <= 5를 확인하고,i++가 진행시킵니다.- 조건을 결국 깨뜨리는 변경이 없으면 루프는 끝나지 않습니다.
무한 루프
- 조건이 절대 false가 되지 않을 때 무한 루프가 발생합니다.
i++(또는 잘못된 변수 업데이트)을 놓치면 프로그램이 영원히 갇힙니다.- 징후: 루프가 종료 조건으로 나아가는 진전이 없습니다.
- 매 반복마다 제어 변수가 exits 쪽으로 이동하도록 반드시 확인하세요.
while는 각 반복 전에 조건을 확인하므로 제로 번 실행될 수 있습니다. 조건이 이미 false라면 본문은 절대 실행되지 않습니다. 그리고 본문 안에서 루프 제어 변수를 반드시 변경해야 조건이 결국 false가 됩니다; 업데이트를 놓치는 것(예: i++ 없음)은 고전적인 무한 루프입니다.
1부터 5까지 합계하기:
int i = 1, sum = 0;while (i <= 5) { sum = sum + i; i++; }- 반복:
i=1sum=1,i=2sum=3,i=3sum=6,i=4sum=10,i=5sum=15; 이후i=6가<= 5를 실함 → 멈춤.sum은15입니다.
while 루프는 조건이 true인 동안 본문을 반복하며, 각 반복 전에 확인합니다(제로 번 실행 가능). 루프 제어 변수는 초기화되고, 테스트되며, 본문 안에서 업데이트되어야 루프가 진전을 보이며, 업데이트를 놓치면 무한 루프가 발생합니다.
while을 사용하여 1부터 5까지 합산하기
매번 pass마다 i를 sum에 더하고, i++가 exits toward the exit.
while 루프는 그 조건을 확인합니다...
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
조건은 각 pass 전에 테스트되므로, 0회 실행될 수 있습니다.
int i=1, sum=0; while (i<=5){ sum+=i; i++; } 마지막 sum은 무엇입니까?
난이도 2/5 · 140 코인 + 오늘 첫 완료 시 소액 보너스
1+2+3+4+5 = 15.
본문 내에서 루프 제어 변수를 업데이트하지 않으면 보통 ...를 유발합니다.
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
진전이 없으면, 조건은 결코 거짓이 되지 않습니다.
while 조건이 첫 번째 체크 시 거짓이면, 본문은 0회 실행됩니다.
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
테스트-전-패스(Test-before-each-pass)는 0회까지 실행될 수 있습니다.
조건이 절대 거짓이 되지 않아 멈추지 않는 루프는 ___ 루프입니다 (한 단어).
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
무한 루프는 멈춤으로 가는 진전을 보이지 않습니다.