while 문의 경우 조건이 만족되지 않으면 루프에 진입할 수 없습니다. 하지만 때로는 조건이 충족되지 않더라도 적어도 한 번은 실행해야 하는 경우가 있습니다.
do...while 루프는 do...while 루프가 적어도 한 번 실행된다는 점을 제외하면 while 루프와 유사합니다.
do { //코드 문}while(부울 표현식);
do..while 루프 문은 테스트 후 루프 문이라고도 합니다. 루프 반복 실행 방법에서도 조건을 사용하여 해당 문을 계속해서 반복적으로 실행할지 여부를 제어합니다. while 루프와의 차이점은 먼저 루프 문을 한 번 실행한 다음 계속 실행할지 여부를 결정한다는 것입니다. 예를 들어, 1에서 100 사이의 모든 정수의 합을 계산하려면 do...while 루프 문을 사용할 수도 있습니다. 구체적인 코드는 다음과 같습니다.
int sum=0;int i=1;do{sum+=i;i++;} while (i<=100);System.out.println("1에서 100 사이의 모든 정수의 합은 다음과 같습니다: "+sum);
do...while 루프 문의 실행 프로세스는 다음과 같습니다. 먼저 루프 본문을 한 번 실행한 다음 조건식의 값이 true이면 실행을 계속하고 그렇지 않으면 루프에서 점프합니다. 즉, do...while 루프 문의 루프 본문이 적어도 한 번 실행됩니다.
참고: 부울 표현식은 루프 본문 뒤에 있으므로 부울 표현식이 감지되기 전에 명령문 블록이 실행되었습니다. 부울 식이 true로 평가되면 부울 식이 false로 평가될 때까지 명령문 블록이 실행됩니다.
예
public class Test { public static void main(String args[]){ int x = 10; do{ System.out.print("x 값 : " + x ) System.out.print("/n" ); }동안( x < 20 }}
위 예제의 컴파일 및 실행 결과는 다음과 같습니다.
x의 값 : 10x의 값 : 11x의 값 : 12x의 값 : 13x의 값 : 14x의 값 : 15x의 값 : 16x의 값 : 17x의 값 : 18x의 값 : 19