안녕하세요.
이번시간에는 if문을 좀 더 가지고 놀아보겠습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | package study; import javax.swing.JOptionPane; public class Study01 { public static void main(String[] args) { int year = Integer.parseInt(JOptionPane.showInputDialog("당신의 출생년도는?")); int age = 2019 - year + 1; JOptionPane.showMessageDialog(null, "당신의 나이는 " + age + "세입니다"); if (age >= 20) { JOptionPane.showMessageDialog(null, "성인이시군요"); } else if (age >= 15) { JOptionPane.showMessageDialog(null, "청소년이군요"); } } } | cs |
지난 시간에 했던 코드.... 처럼 보이지만 뭔가 허전하죠?
네. else 부분이 빠졌습니다. 이렇게 코딩하면 20세 이상도 아니고 15세 이상도 아닌 사람에게는 '당신의 나이는 ~세입니다' 메세지 다음에 아무런 메세지를 보여주지 않게 됩니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | package study; import javax.swing.JOptionPane; public class Study01 { public static void main(String[] args) { int year = Integer.parseInt(JOptionPane.showInputDialog("당신의 출생년도는?")); int age = 2019 - year + 1; JOptionPane.showMessageDialog(null, "당신의 나이는 " + age + "세입니다"); if (age >= 20) { JOptionPane.showMessageDialog(null, "성인이시군요"); } else { JOptionPane.showMessageDialog(null, "미성년자이군요"); } } } | cs |
이번에는 else if 부분이 빠졌습니다. 20세 이상이 아닌 그밖의 사람들에게는 미성년자라는 메세지를 던집니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | package study; import javax.swing.JOptionPane; public class Study01 { public static void main(String[] args) { int year = Integer.parseInt(JOptionPane.showInputDialog("당신의 출생년도는?")); int age = 2019 - year + 1; JOptionPane.showMessageDialog(null, "당신의 나이는 " + age + "세입니다"); if (age >= 20) { JOptionPane.showMessageDialog(null, "성인이시군요"); } } } | cs |
if만 달랑 있어도 됩니다. 20세 미만인 사람들에게는 침묵 ㅋ
그런데 말입니다. 만약에 8세 이상이면서 13세 이하인 사람들에게 '초등학생'이라고 메세지를 던지려면 어떻게 해야할까요? 두가지 조건을 동시에 만족시키는 경우죠.
if (조건식1 && 조건식2) {
내용
}
이런식으로 코딩하면 됩니다. 특수문자가 들어있네요. &는 시프트를 누른 상태에서 7을 누르면 입력되는데 '엠퍼센드'라고 읽습니다. 하나만 적으면 안되고 두개를 같이 적어주세요. &&는 AND조건을 나타내는 기호로서 조건식을 모두 만족해야 되는 경우입니다.
코딩을 한번 해보겠습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | package study; import javax.swing.JOptionPane; public class Study01 { public static void main(String[] args) { int year = Integer.parseInt(JOptionPane.showInputDialog("당신의 출생년도는?")); int age = 2019 - year + 1; JOptionPane.showMessageDialog(null, "당신의 나이는 " + age + "세입니다"); if (age >= 8 && age <= 13) { JOptionPane.showMessageDialog(null, "초등학생이군요"); } } } | cs |
인풋박스에 2010을 적으면 10살이니까 8이상이라는 조건에도 만족하고 13이하라는 조건에도 만족합니다. 그래서 초등학생이라고 출력하는 거죠.
이번에는 10살 미만이거나 60세를 넘는 사람에게 '당신은 이 놀이기구를 탈 수 없습니다'라고 안내하는 코드를 짜볼까요? '이거나'라는 말이 들어갔다는 건 두가지 조건 중에 하나만 만족해도 된다는 뜻입니다.
if (조건식1 || 조건식2) {
내용
}
이번에도 생소한 특수문자가 들어갔네요. 엔터키 위에 있는 문자를 시프트를 누른채로 입력하면 됩니다. '파이프'라고 하는 특수문자이고 이번에도 두개를 연속으로 적어야 합니다. 조건식 중에 하나만 만족해도 되는 경우인데 OR조건이라고 합니다.
아래를 보시죠.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | package study; import javax.swing.JOptionPane; public class Study01 { public static void main(String[] args) { int year = Integer.parseInt(JOptionPane.showInputDialog("당신의 출생년도는?")); int age = 2019 - year + 1; JOptionPane.showMessageDialog(null, "당신의 나이는 " + age + "세입니다"); if (age < 10 || age > 60) { JOptionPane.showMessageDialog(null, "당신은 이 놀이기구를 탈 수 없습니다"); } } } | cs |
출생년도를 1950으로 적어서 메세지가 잘 출력되는지 확인하세요~
if문 공부는 이정도로 해두고 다음과정으로 넘어가겠습니다.
다음시간에는 '함수'를 만들어보도록하죠.
감사합니다.
'자바로 게임 만들기' 카테고리의 다른 글
| [자바로 게임 만들기] 18. 함수의 필요성 (0) | 2018.12.31 |
|---|---|
| [자바로 게임 만들기] 17. 함수를 만들어봅시다 (2) | 2018.12.30 |
| [자바로 게임 만들기] 15. if문으로 나이계산기 업그레이드 (0) | 2018.12.29 |
| [자바로 게임 만들기] 14. 나이 계산기 (6) | 2018.12.28 |
| [자바로 게임 만들기] 13. 인풋박스와 형변환 (3) | 2018.12.28 |