안녕하세요.


이번시간에는 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문 공부는 이정도로 해두고 다음과정으로 넘어가겠습니다.


다음시간에는 '함수'를 만들어보도록하죠.


감사합니다.

+ Recent posts