안녕하세요.
예전에 배운 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에 적용시키기 전에, 무한 반복을 빠져나오는 구문을 배우고 넘어가겠습니다. 다음 시간에 뵙죠.
감사합니다.
'자바로 게임 만들기' 카테고리의 다른 글
[자바로 게임 만들기] 33. 코드 성형수술(리팩토링과 객체인수) (0) | 2019.01.25 |
---|---|
[자바로 게임 만들기] 32. 난 여기서 나가야겠어(break) (3) | 2019.01.24 |
[자바로 게임 만들기] 30. 체력이 점점 줄어들고 있어! (0) | 2019.01.22 |
[자바로 게임 만들기] 29. 골라서 공격하기 (0) | 2019.01.21 |
[자바로 게임 만들기] 28. 인간 클래스 (0) | 2019.01.17 |