do...while
문의 정의 및 사용법
do...while
문은 코드 블록과 조건식으로 구성됩니다.
먼저 코드 블록을 무조건 한 번 실행한 후,
그 다음부터는 조건식이 참(true
)인 동안 코드 블록을 실행하는 루프를 만듭니다.
조건식이 거짓(false
)이 되면 do...while
문은 종료됩니다.
루프(loop)란
프로그램이 특정 조건을 만족할 때까지 동일한 작업을 반복적으로 수행하는 구조를 말합니다. 이 용어는 구조가 마치 고리(loop)처럼 연결되어 있다는 것에서 유래했습니다.
$i = 1;
do { /* 코드 블록 */
echo($i);
$i++;
} while ($i <= 5); /* 조건식 */
// 1 2 3 4 5
구문
do {
코드 블록
} while (조건식);
코드 블록
do...while
문이 처음 시작할 때 무조건 한 번 실행합니다.
그 다음부터는 이 코드 블록
실행 후 다시 실행할지 검사하는 조건식
이 참(true
)으로 검사되었다면 다시 실행합니다.
조건식
코드 블록
이 실행된 후 코드 블록
을 다시 실행할지 검사하는 조건식입니다. 생략할 수 없습니다.
- 이 조건식이 참(
true
)이면코드 블록
이 실행됩니다. - 이 조건식이 거짓(
false
)이면do...while
문은 더 이상 실행되지 않고 종료됩니다. 조건식
을 생략하면 구문 오류가 발생합니다.
구문의 실행 순서
do...while
문이 실행될 때, 다음의 순서대로 실행됩니다.
do...while
문이 처음 시작할 때코드 블록
이 한 번 실행합니다.조건식
으로 검사합니다.
조건식
이 참(true
)이면 다음 단계로코드 블록
이 실행되지만, 거짓(false
)이면do...while
문은 더 이상 실행되지 않고 종료됩니다.조건식
이 참(true
)으로 검사되었다면코드 블록
이 실행됩니다.코드 블록
이 실행된 후조건식
으로 검사하는 두 번째 단계로 되돌아갑니다. 이 후의 단계가 반복됩니다.
다음의 예제 코드로 설명하겠습니다.
$i = 1; // 변수 $i를 1로 초기화
do {
echo($i); // 현재 변수 $i의 값을 출력
$i++; // 변수 $i의 값을 1 증가시킴
} while ($i <= 5); /* 조건식 */
// 출력: 1 2 3 4 5
do...while
문이 처음 시작할 때코드 블록
이 한 번 실행합니다.echo($i);
가 실행되어1
이 출력되고,$i++
로 인해$i
는2
가 됩니다.조건식
으로 검사합니다. 조건식$i <= 5
가 참이므로 반복이 계속됩니다.- 이 과정이
$i
가6
이 될 때까지 반복됩니다. 즉1
,2
,3
,4
,5
가 차례로 출력됩니다. $i
가6
이 되면 조건식$i <= 5
가 거짓이 되어 반복이 종료됩니다. 즉,do...while
문은 더 이상 실행되지 않고 종료됩니다.
break
키워드와 함께 사용
break
키워드는 현재 반복을 중지하고 반복문을 완전히 종료하는 기능을 수행합니다.
$i = 1;
do {
if ($i == 3) { // $i가 3이면 반복문 종료
break;
}
echo($i);
$i++;
} while ($i <= 5);
// 1 2
continue
키워드와 함께 사용
continue
키워드는 현재 반복의 나머지 부분을 건너뛰고 다음 반복을 즉시 시작하는 기능을 수행합니다.
$i = 1;
do {
if ($i == 3) {
$i++; // $i를 증가시켜 무한 루프를 방지
continue; // 현재 반복을 건너뛰어 다음 반복으로 이동합니다.
}
echo($i);
$i++;
} while ($i <= 5);
// 1 2 4 5