예제가 포함된 Java do-while 루프
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> );> > > > }> }> |
산출
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 루프의 차이점