Java의 루프 명령문 블록을 반복적으로 실행해야 할 때 사용됩니다. 자바 do-while 루프 이다 제어 루프 종료 . 그러므로 달리 ~을 위한 또는 ~하는 동안 루프, 루프 본문의 명령문을 실행한 후 조건에 대한 do-while 검사입니다.
통사론:
do { // Loop Body Update_expression } // Condition check while (test_expression);> 메모: 그만큼 테스트_표현 do-while 루프는 다음을 반환해야 합니다. 부울 value 그렇지 않으면 컴파일 타임 오류가 발생합니다.
do-while의 적용: 예제 애플리케이션은 사용자에게 일종의 메뉴를 보여줍니다.
예를 들어:
한 달은 몇 주입니까?
사용자에게 몇 가지 옵션을 표시하는 게임을 구현하고 있습니다. 1을 누르면 .., 2를 누르면 .. 등을 누른 다음 'Q'를 눌러 게임을 종료합니다. 따라서 여기서는 사용자에게 게임 메뉴를 한 번 이상 표시하려고 do-while 루프 내에 게임 메뉴에 대한 코드를 작성합니다.

삽화:
자바
// Java Program to Illustrate One Time Iteration> // Inside do-while Loop> // When Condition IS Not Satisfied> // Class> class> GFG {> >// Main driver method> >public> static> void> main(String[] args)> >{> >// initial counter variable> >int> i =>0>;> >do> {> >// Body of loop that will execute minimum> >// 1 time for sure no matter what> >System.out.println(>'Print statement'>);> >i++;> >}> >// Checking condition> >// Note: It is being checked after> >// minimum 1 iteration> >while> (i <>0>);> >}> }> |
>
>산출
Print statement>
출력 설명:
위의 코드에서는 나중에 조건을 확인하므로 do 내부의 본문이 한 번만 실행되므로 나중에 조건을 확인한다는 것을 알 수 있었습니다. 따라서 메뉴를 표시하고 나중에 터미널에서 명령을 진행하려고 할 때마다 항상 do-while 루프를 사용합니다.
do-while 루프의 구성요소
A. 테스트 표현: 이 표현식에서는 조건을 테스트해야 합니다. 조건이 true로 평가되면 루프 본문을 실행하고 표현식 업데이트로 이동합니다. 그렇지 않으면 while 루프를 종료합니다. 예를 들어:
i <= 10>
B. 표현식 업데이트 : 루프 본문을 실행한 후 이 표현식은 루프 변수를 특정 값만큼 증가/감소시킵니다. 예를 들어:
i++;>
do-While 루프 실행
- 제어는 do-while 루프에 속합니다.
- 루프 본문 내부의 명령문이 실행됩니다.
- 업데이트가 이루어집니다.
- 흐름이 조건으로 점프합니다.
- 상태가 테스트되었습니다.
- 조건이 true이면 6단계로 이동합니다.
- Condition이 false를 생성하면 흐름이 루프 외부로 이동합니다.
- 흐름은 2단계로 돌아갑니다.
순서도 do-while 루프:

구현:
예시 1: 이 프로그램은 Hello World를 5번 인쇄하려고 시도합니다.
자바
// Java Program to Illustrate Do-while Loop> // Class> class> GFG {> >// Main driver method> >public> static> void> main(String args[])> >{> >// Declaring and initialization expression> >int> i =>1>;> >// Do-while loop> >do> {> >// Body of do-while loop> >// Print statement> >System.out.println(>'Hello World'>);> >// Update expression> >i++;> >}> >// Test expression> >while> (i <>6>);> >}> }> |
>
>산출:
Hello World Hello World Hello World Hello World Hello World>
보조 공간: O(1)
출력 설명:
프로그램은 다음과 같은 방식으로 실행됩니다.
- 프로그램이 시작됩니다.
- i는 값 1로 초기화됩니다.
- 실행이 루프에 들어갑니다.
- Hello World가 처음으로 인쇄됩니다.
- 업데이트가 완료되었습니다. 이제 나는 = 2입니다.
- 상태가 확인됩니다. 2 <6은 참이 됩니다.
- 실행이 루프에 들어갑니다.
- Hello World가 두 번째로 인쇄됩니다.
- 업데이트가 완료되었습니다. 이제 나는 = 3이다.
- 상태가 확인됩니다. 3 <6은 참이 됩니다.
- 실행이 루프에 들어갑니다.
- Hello World가 세 번째로 인쇄됩니다.
- 업데이트가 완료되었습니다. 이제 나는 = 4입니다.
- 상태가 확인됩니다. 4 <6은 참이 됩니다.
- 실행이 루프에 들어갑니다.
- Hello World가 네 번째로 인쇄됩니다.
- 업데이트가 완료되었습니다. 이제 나는 = 5입니다.
- 상태가 확인됩니다. 5 <6은 참이 됩니다.
- 실행이 루프에 들어갑니다.
- Hello World가 5번째로 인쇄됩니다.
- 업데이트가 완료되었습니다. 이제 나는 = 6이다.
- 상태가 확인됩니다. 6 <6은 거짓을 산출합니다.
- 흐름은 루프 외부로 나갑니다.
실시예 2
자바
// Java Program to Illustrate Do-while Loop> // Class> class> GFG {> >// Main driver method> >public> static> void> main(String args[])> >{> >// Declaring and initializing integer values> >int> x =>21>, sum =>0>;> >// Do-while loop> >do> {> >// Execution statements(Body of loop)> >// Here, the line will be printed even> >// if the condition is false> >sum += x;> >x--;> >}> >// Now checking condition> >while> (x>>10>);> >// Summing up> >System.out.println(>'Summation: '> + sum);> >}> }> |
>
>산출:
Summation: 176>
예시 3: 중괄호가 없는 do-while 루프 {}
자바
/*package whatever //do not write package name here */> import> java.io.*;> class> GFG {> >public> static> void> main (String[] args) {> >int> i=>1>;> >do> >// only single statement in do block> >System.out.println(>'Hello GFG!'>);> >// this condition is false so only do block will execute> >while>(i>=>3>);> > > >}> }> |
>
SQL은 여러 테이블에서 선택
>산출
Hello GFG!>
&list=PLqM7alHXFySF5ErEHA1BXgibGg7uqmA4_&ab_channel=techcodeview.com
관련 기사:
- Java의 루프
- 예제가 포함된 Java For 루프
- 예제가 포함된 Java while 루프
- C, C++, Java의 while과 do-while 루프의 차이점
- C, C++, Java의 for 루프와 do-while 루프의 차이점