본문 바로가기

Java/기본 이론

[JAVA] Chapter 11. 제어문 - 반복문 while

1. 반복문 while

while (조건){실행문;}

 

while은 조건이 ‘참’일 경우 실행문을 반복하는 반복문으로 for과 다르게 조건에 증감 연산과 범위가 정해지지 않는다.

 

이러한 특성 때문에 일반적으로 사용자가 입력한 데이터에 대한 반복이나 정보 처리에 사용한다.

 

다만 주의할 것은 증감 연산이 조건에 포함되지 않아 ‘무한 루프’를 생성할 수 있으며, 이를 방지하기 위해 예외 처리(break 등) 혹은 증감연산을 실행문에 포함해 주어야 한다. 

 

2. 반복문 while의 연산 순서 

          int i = 1;

          while ( i < 6) ① ④ 

          {

                    System.out.println(i); ② ⑤

                    i++; ③ ⑥ 

          }

          System.out.println(“while 항목 밖에서의 i =”+i ); 

          //조건==거짓

 

while 문에서 조기에 지정하는 조건은 if와 같이 단항으로 존재한다.

마찬가지로 true 및 false 로 결정된다.

위의 ①~⑥ ....과 같이 연산되고 ③과 같이 조건 항목에서 변화할 값을 입력하지 않으면 무한 루프에 돌입한다. 

 

연산 순서가 중요한 이유는 연산 순서에 따라 알고리즘이 작동하기 때문이다. 

 

3. 반복문 do {실행문} while (조건); 

 do {실행문} while (조건); 

 

위의 반복문은 do의 실행문을 무조건 1회 실행한 후에, while의 조건을 따져 ‘참’일 경우 do 이하의 실행문을 반복하는 반복문이다.

조건이 ‘거짓’일 경우, 해당 반복문을 탈출하여 다음 연산을 진행한다. 

 

          int i = 1;

          do

          {

                    System.out.println(i); ① ④

                    i++; ② ⑤ 

          }

          while ( i < 6); ③ ⑥

 

          System.out.println(“while 항목 밖에서의 i =”+i ); 조건==거짓

 

위와 같이 연산되는데, while이 마지막에 위치하여 조건의 여부를 판단한다는 점에서 while 문과는 차이점을 가진다.