IT, 개발/JAVA

JAVA - while / do-while 사용법, 차이점

개발자스터디 2022. 8. 17.
728x90
반응형

 

 

 

 

반복문은 개발하면서 사용하는 빈도가 정말 많습니다.

대표적으로 for문과 while문이 있는데 이번에는 while문에 대해서 테스트해보고자 합니다.

은근히 헷갈리는 부분이 while문과 do-while문의 차이점인데 이 부분을 자세히 살펴보도록 하겠습니다.

 

 

1. while

 

while문의 기본 사용법입니다.

while (조건) {
    내부실행코드;
}

 

소스 실행 중 while문을 만나면 가장 먼저 조건이 참인지 거짓인지를 확인합니다.

조건이 참이라면 while문 안에 있는 소스를 처음부터 끝까지 실행하고 다시 조건을 확인하여 조건이 참이라면 또다시 while문 안에 소스를 실행합니다.

반대로 조건이 거짓이라면 while문 안에 있는 소스는 실행되지 않고, while문을 지나치게 됩니다.

 

 

예제를 통해 확인해보도록 하겠습니다.

 

public class TestClass {

    public static void main(String[] args) throws Exception {
        
        int count = 0;

        // while 문 
        while(count > 0)
        {
            count++;
            System.out.println("while count " + count);
        }

    }
}

 

예제의 코드를 살펴보면 count = 0인데, while문의 조건이 count가 0보다 큰지 물어보고 있습니다.

 

조건이 거짓이기 때문에 반복문 안에 소스는 실행되지 않고 지나가게 됩니다.

 

 

2. do-while

 

do-while문의 기본 사용법부터 보도록 하겠습니다.

do {
    내부실행코드;
} while (조건);

 

소스 실행 중 do-while문을 만나면 작성한 조건을 확인하기 전에 우선적으로 do-while문 내부의 소스를 실행합니다.

반복문 내부 소스를 한번 실행한 후에 조건을 확인하게 됩니다.

그 후에는 while문과 마찬가지로 참인지 거짓인지에 따라 다르게 실행되게 됩니다.

 

 

예제를 한번 보면서 확인해보도록 하겠습니다.

 

public class TestClass {

    public static void main(String[] args) throws Exception {
        
        int count = 0;

        // do-while 문 
        do {
            if(count >= 10)
            {
                break;
            }
            
            count++;
            System.out.println("do-whild count " + count);
        } while (count > 0);

    }
}

 

 

결과

do-whild count 1
do-whild count 2
do-whild count 3
do-whild count 4
do-whild count 5
do-whild count 6
do-whild count 7
do-whild count 8
do-whild count 9
do-whild count 10

 

 

예제 코드를 살펴보면 위의 while문과 같이 count = 0인데, while문의 조건이 count가 0보다 큰지 물어보고 있습니다.

조건은 거짓이지만 가장 먼저 내부 소스를 실행하기 때문에 일단 반복문 내부 소스가 실행되게 됩니다.

그 후에 count++ 로 count가 1이 되기 때문에 조건이 참이 되어서 break를 만나기 전까지 내부 소스가 반복되게 됩니다.

 

 

마지막으로 while / do-while의 차이점을 간단하게 정리하면

 

while문은 조건을 먼저 확인하고 조건에 따라 내부 소스 실행 여부를 결정하게 되고,

do-while문은 조건에 상관없이 내부 소스 1회 실행이 보장됩니다.

 

상황에 맞게 필요한 반복문을 사용하시면 좋을 것 같습니다.

 

 

 

 

728x90
반응형