안녕하세요.


예전에 배운 for문 기억나시나요? 지정한 횟수만큼 반복하는 구문이었죠. 그런데 횟수가 아닌 다른 조건을 주거나 반복횟수가 정해져 있지 않을때, 그리고 무한반복 시키고 싶을 때 쓰는 구문이 있습니다. while문인데요. while은 사전적인 의미로 '~동안'이라는 뜻이죠.


스터디02 클래스를 만들고 아래와 같이 코딩해봅시다.





1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// Study02.java
 
 
package study;
 
public class Study02 {
    
    public static void main(String[] args) {
        
        int hp = 100;
 
        while (hp > 0) {
            System.out.println(hp);
            hp = hp - 20;
        }
        
        System.out.println("Game Over");
    
    }
 
}
 
cs




while (조건식) {

     내용

}



이런 형태입니다. 조건식이 참일동안에만 내용을 반복하고 거짓이 되면 반복을 그만둡니다.


한가지 주의해야될 점은 while은 for와는 달리 변수를 초기화 하는 부분이 없기 때문에 10행처럼 미리 초기화를 해 둬야 된다는 것이죠.


아래 예제를 보실까요?





1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// Study02.java
 
 
package study;
 
import javax.swing.JOptionPane;
 
public class Study02 {
    
    public static void main(String[] args) {
        
        int hp = 100;
 
        while (true) {
            JOptionPane.showMessageDialog(null, hp);
            hp = hp - 20;
        }
        
    }
 
}
 
cs

14행에 주목해주세요. 조건식에 대놓고 '참'이라고 적었습니다. 이렇게 되면 항상 참이기 때문에 무한반복에 빠지게 됩니다. 실행을 한번 해볼까요?







네, 숫자가 계속 깎이다가 이제 마이너스로 돌입하네요. 이대로 영영 끝낼 수 없는 걸까요? 당황하지 마시고 아래 그림의 빨간 정지버튼을 누르면 되겠습니다^^







프로그램을 실행하다가 도중에 종료시키고 싶을때 사용하는 버튼입니다.





이번 시간에 배운 내용을 기존의 스터디01에 적용시키기 전에, 무한 반복을 빠져나오는 구문을 배우고 넘어가겠습니다. 다음 시간에 뵙죠.

감사합니다.


+ Recent posts