본문 바로가기

JavaScript

[Java] 반복문 while과 do~while의 차이 비교

1. while문

조건식에 따라 반복 횟수가 정해진다. 조건식이 false가 될 때까지 반복문이 돈다. 

public class Test01 {

	public static void main(String[] args) {
		int i = 0;
		while (i < 5) { 
			System.out.print(i);
			i++;
		}
	}
}
//결과: 01234

 

2. do~while문

while문처럼 조건식이 false가 될 때까지 반목문이 돈다는 것은 동일하다. 그러나 do~while문은 do 블록과 while 블록이 있다. do 블록에 있는 코드는 조건식과 관계없이 무조건 한 번은 실행된다.  

public class Test01 {

	public static void main(String[] args) {
		int i = 0;
		
		// do~while문
		do {
			System.out.println("i=" + i);
			i++;
		} while (i < 0);
		
		// while문
		while(i < 0) {
			System.out.println("i=" + i);
			i++;
		}
	}
}
// 결과: i=0

위 예제를 보면 while 조건문에는 같은 식이 들어있지만 do~while문에서만 출력이 한 번 일어난 것을 알 수 있다. do~while문은 do블록을 무조건 한 번은 실행하고 조건문을 확인하기 때문에 System.out.println("i=" + i)가 한 번 실행됐지만, while문은 조건문을 먼저 확인하기 때문에 바로 while문을 빠져나왔다.