728x90
반응형
자바에서 기본으로 비교 구문으로 사용하는 명령어는 if,switch가 있습니다. 이중 switch 문법을 알아 봅니다.
조건식이 많을 경우 사용하면 코드를 보다 간결하게 구성할 수 있습니다.
1. 비교할 내용이 숫자일 경우
1 2 3 4 5 6 7 8 9 10 11 | int i = 2; switch (num) { case 1: case 2: case 3: case 4: case 5: Log.d(TAG,"testing case 1 to 5"); break; case 6: case 7: case 8: case 9: case 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.
[출처] Java switch 문 완벽 사용법|작성자 오픈소스 Factory
728x90
반응형
'JAVA > 함수' 카테고리의 다른 글
Collection Framework - Collection Interface (0) | 2017.12.06 |
---|---|
[random] java.security.SecureRandom (0) | 2016.05.04 |
Java 5장 : 배열,2차원배열,3차원배열 (0) | 2016.04.29 |
[JAVA 함수] 자바 소수점 올림 / 버림 / 반올림 / 절대값 (0) | 2016.04.21 |
[JAVA] String format 사용법 (0) | 2016.03.24 |
Java Collection Sort (List, Array) (0) | 2015.10.27 |
[형식화 클래스] DecimalFormat 사용법 (0) | 2015.10.22 |
Java - Constructor(생성자) (0) | 2015.10.13 |