1. 조건문 switch-case문


1) 구조 




2) JDK 1.7버전 이후부터는 값에 문자열도 가능!


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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package switchex;
 
import javax.swing.JOptionPane;
 
public class SwitchTest01 {
    public static void main(String[] args) {
        
        String menu = "*** 코리아 샌드위치 ***\n";
        menu += "1. 치즈 샌드위치\n";
        menu += "2. 베이컨 샌드위치\n";
        menu += "3. 토마토 샌드위치\n";
        menu += "4. 종료\n";
        
        //4. 종료를 위한 변수: exit = -1이 되면 종료 
        int exit = 0;
        
        while(true) {    // exit=-1; 되기 전까지 무한 반복 
            int choice = Integer.parseInt(JOptionPane.showInputDialog(menu + "번호를 선택하세요."));
            
            switch(choice) {
            case 1:
                System.out.println("치즈 샌드위치");
                break;
 
            case 2:
                System.out.println("베이컨 샌드위치");
                break;
            
            case 3:
                System.out.println("토마토 샌드위치");
                break;
            
            case 4:
                exit = -1;
                System.out.println("프로그램 종료");
                break;
            
            default:
                System.out.println("1~3번을 입력하세요!");
                // break; 생략가능! 
                // 어차피 마지막으로 switch문을 탈출하기 때문이다. 
 
            } // switch
            
            // while 구문을 탈출하기 위한 break;
            if (exit == -1) {    
                break;
            }
        } // while
        
    } // main()
// class
cs


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
30
31
32
33
34
35
36
package switchex;
 
import java.util.Scanner;
 
public class SwitchTest02 {
    public static void main(String[] args) {
 
        Scanner sc = new Scanner(System.in);
        System.out.print("현재 월을 입력하세요: ");
        int month = sc.nextInt();
        
        String msg = "";
        switch(month) {
        case 3case 4case 5
            msg = "봄";
            break;
 
        case 6case 7case 8
            msg = "여름";
            break;
        
        case 9case 10case 11
            msg = "가을";
            break;
 
        case 12case 1case 2
            msg = "겨울";
            break;
            
        default:
            System.out.println("잘못 입력하셨습니다.");
        }
        System.out.println(msg);
        
    }
}
cs


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
30
31
32
33
34
35
36
37
38
39
package switchex;
 
import javax.swing.JOptionPane;
 
public class SwitchTest03 {
    public static void main(String[] args) {
 
        int num1 = Integer.parseInt(JOptionPane.showInputDialog("정수1 입력: "));
        int num2 = Integer.parseInt(JOptionPane.showInputDialog("정수2 입력: "));
        
        String op = JOptionPane.showInputDialog("+ - / * 중에 선택하세요: ");
        
        switch(op) {
        case "+":
            System.out.printf("%d + %d = %d", num1, num2, num1+num2);
            break;
 
        case "-":
            System.out.printf("%d - %d = %d", num1, num2, num1-num2);
            break;
        
        case "*":
            System.out.printf("%d * %d = %d", num1, num2, num1*num2);
            break;
        
        // 0으로는 나눌 수 없다 > java.lang.ArithmeticException: / by zero
        case "/":
            if (num2 == 0) {
                System.out.println("0으로는 나눌 수 없습니다.");
                break;
            }
            System.out.printf("%d / %d = %d", num1, num2, num1/num2);
            break;
        
        default:
            System.out.println("잘못 입력하셨습니다.");
        }
    }
}
cs