while Loop
while 루프
- 각 루프 주기에 진입할 때마다 조건 검사 표현식이 평가된다는 점에서 Entry-Condition Loop(진입 조건 루프)에 해당된다. (for 루프와 동일)
(따라서, 조건 검사 표현식이의 값이 처음부터 False 이면 루프 바디는 한 번도 실행되지 않게된다.)
Usage
while (testExpression) {
Loop Body
}
- 프로그램은 먼저 괄호 안의 \(testExpression\)(조건 검사 표현식)을 평가한 후,
표현식이 True로 평가되면 루프 바디의 구문들을 실행한다.
- 루프 바디의 실행이 끝나면 조건 검사 표현식으로 돌아와서 갱신된 값으로 표현식을 다시 평가한다.
- 이와 같은 루프 주기는 조건 검사 표현식의 값이 False가 될 때까지 반복된다.
for Loop \(\leftrightarrow\) while Loop
while (testExpr) { // Expr = Expression
Loop Body
}
// 위 while Loop는 아래 for Loop로 변환시킬 수 있다.
for ( ; testExpr; ) {
Loop Body
}
for (initExpr; testExpr; updateExpr) { // Expr = Expression
statement(s)
}
// 위 for loop는 아래 while loop로 변환시킬 수 있다.
initExpr;
while (testExpr) {
statement(s)
updateExpr
}
- for Loop : 루프를 카운트해야 할 필요가 있을 때 사용한다.
(초기값, 종료값, 카운터 갱신 방법을 한 곳에 넣을 수 있다.)
- while Loop : 루프 반복횟수가 파악되지 않을 때 사용한다.