do~while문 사용법



do~while문은 while문과 비교해서 조건과 상관 없이 무조건 한 번 작업을 수행한다.

그 다음 조건이 참(true)이면 반복해서 작업을 수행 한다.



do~while 사용법


사용방법은 다음과 같다.

 do

 {

      수행할 작업

 }while( 조건문 );


do~while문은 다음과 같이 쓸 수 있다.


int i = 0;


do

{

     System.out.println("Working...i["+i+"]");

      i++;

 }while( i < 5 )

 System.out.println("END");



do~while문 부분 설명

  do

 조건과 상관없이 한 번 실행 한다.

  i++; i가 1 증가한다. 증가 후 다시 while로 돌아가 i < 5인지 확인 하고 참이면 다시 수행한다.

  while( i < 5)

 i가 5보다 작으면 참이다.  이 조건을 만족하면 while 안에 작업은 반복적으로 수행한다.



while문의 수행 결과

 i값

 출력 결과

 설명

 0

 Working...i[0]

  i는 5보다 작기 때문에 Working...i[0]를 출력하고 i에 1을 증가시킨다.

 1

 Working...i[1]

  i는 5보다 작기 때문에 Working...i[1]를 출력하고 i에 1을 증가시킨다.

 ....

 

 5

 END

  5일 때 while문을 벗어나며 END 문을 출력한다.





while, if ... 그리고 break


위의 예문은 조건이 참인동안 반복적으로 수행한다.

하지만 중간에 while문을 빠져 나와야 하는 경우는 어떻게 해야 될까?

우선 break를 만나면 while문을 빠져 나오게 할 수 있다.

이 원리를 이용해 특정 조건을 검사하는 if문을 활용하여 while문을 빠져나와보자



int i = 0;


do

{

     System.out.println("Working...i["+i+"]");

      i++;


     if( i == 3 )

     {

       System.out.println("out of while loop");          

         break;

     }

 }while( i < 5 )

 System.out.println("END");


while문 부분 설명

  do

 조건과 상관없이 한 번 실행 한다.

  i++;

 i가 1 증가한다. 증가 후 다시 while로 돌아가 i < 10인지 확인 하고 참이면 다시 수행한다.

 if( i == 3 )

 i가 3이면 if 블록 안 작업을 수행 한다.

 break;

 while문을 빠져 나온다. 

 while( i < 10 )

 i가 10보다 작으면 참이다.  이 조건을 만족하면 while 안에 작업은 반복적으로 수행한다.



while문의 수행 결과

 i값

 출력 결과

 설명

 0

 Working...i[0]

  i는 5보다 작기 때문에 Working...i[0]를 출력하고 i에 1을 증가시킨다.

 1

 Working...i[1]

  i는 5보다 작기 때문에 Working...i[1]를 출력하고 i에 1을 증가시킨다.

 2

 Working...i[2]  i는 5보다 작기 때문에 Working...i[2]를 출력하고 i에 1을 증가시킨다.

 3

  out of while loop

  END

  3이 되면 if문 블록 안 작업을 수행 하게 된다.

  break를 만나 while문을 빠져 나오기 때문에 END를 출력한다.



반응형

'프로그램 > Java' 카테고리의 다른 글

[java] ServerSocket, Socket  (0) 2018.05.21
[java] 다중 반복문 탈출 방법  (0) 2018.05.21
[java] while문 사용법  (0) 2017.12.11
[java] switch문 사용법  (0) 2017.12.10
[java] for each문 사용법  (0) 2017.12.09

+ Recent posts