728x90
반응형

 


자바에서 기본으로 비교 구문으로 사용하는 명령어는 if,switch가 있습니다. 이중 switch 문법을 알아 봅니다.

조건식이 많을 경우 사용하면 코드를 보다 간결하게 구성할 수 있습니다.




1. 비교할 내용이 숫자일 경우


 

1
2
3
4
5
6
7
8
9
10
11
int i = 2;
switch (num) {
  case 1case 2case 3case 4case 5
     Log.d(TAG,"testing case 1 to 5");
     break;
  case 6case 7case 8case 9case 10:
     Log.d(TAG,"testing case 6 to 10");
     break;
  default:
     //Do something
}
cs


2. 비교할 내용이 문자인 경우


  [JDK 1.7 이상]

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
String str="tony";
switch(str) {
    case "tony"case "tae":
        //Do something!
      break;
    case "jean"case "james":
        //Do something!
      break;
    case "ruby"case "anna":
        //Do something!
      break;
    default:
}
 
cs



[JDK 1.6이하]

1.6이하에서는 String을 switch구문에서 바로 사용할 수 없습니다. enum을 활용하여 구현하여야 합니다.


 

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
 
public enum Day {
    SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
    THURSDAY, FRIDAY, SATURDAY 
}
 
 
public class EnumTest {
    Day day;
    
    public EnumTest(Day day) {
        this.day = day;
    }
    
    public void tellItLikeItIs() {
        switch (day) {
            case MONDAY:
                System.out.println("Mondays are bad.");
                break;
                    
            case FRIDAY:
                System.out.println("Fridays are better.");
                break;
                         
            case SATURDAY: case SUNDAY:
                System.out.println("Weekends are best.");
                break;
                        
            default:
                System.out.println("Midweek days are so-so.");
                break;
        }
    }
    
    public static void main(String[] args) {
        EnumTest firstDay = new EnumTest(Day.MONDAY);
        firstDay.tellItLikeItIs();
        EnumTest thirdDay = new EnumTest(Day.WEDNESDAY);
        thirdDay.tellItLikeItIs();
        EnumTest fifthDay = new EnumTest(Day.FRIDAY);
        fifthDay.tellItLikeItIs();
        EnumTest sixthDay = new EnumTest(Day.SATURDAY);
        sixthDay.tellItLikeItIs();
        EnumTest seventhDay = new EnumTest(Day.SUNDAY);
        seventhDay.tellItLikeItIs();
    }
}
cs

 

[Oracle사 Docs 참조]


실행하면 아래와 같은 결과가 나옵니다.

Mondays are bad.
Midweek days are so-so.
Fridays are better.
Weekends are best.
Weekends are best.

 

 

728x90
반응형
블로그 이미지

nineDeveloper

안녕하세요 현직 개발자 입니다 ~ 빠르게 변화하는 세상에 뒤쳐지지 않도록 우리모두 열심히 공부합시다 ~! 개발공부는 넘나 재미있는 것~!

,