1. switch
- switch는 제어문(control flow statements)중에 하나이다. switch문은 경우에 따라 if문보다 가독성이 좋을 수 있다.
- 이론적으로는 switch문이 if문보다 속도가 빠르다고 하지만 의미가 없는 수준이다.
2. switch 사용법
- switch블록 안에는 여러 개의 case가 올 수 있다.
- switch블록 안에는 하나의 default가 올 수 있다.
- break문은 생략할 수 있다.
switch (변수) {
case 값1:
변수가 값1일 때 실행된다.
break;
case 값2:
변수가 값3일 때 실행된다.
break;
...
default:
변수의 값이 어떤 case에도 해당되지 않을 경우 실행된다.
}
3. 예제1
- num의 값을 1, 2, 3, 4로 바꿔가면서 실행해보자.
public class SwitchExam1 {
public static void main(String[] args) {
int num = 1;
switch(num) {
case 1 :
System.out.println("1입니다.");
case 2 :
System.out.println("2입니다.");
case 3 :
System.out.println("3입니다.");
}
}
}
1입니다.
2입니다.
3입니다.
4. 예제2
- num의 값을 1, 2, 3, 4로 바꿔가면서 실행해보자.
public class SwitchExam2 {
public static void main(String[] args) {
int num = 1;
switch(num) {
case 1 :
System.out.println("1입니다.");
break;
case 2 :
System.out.println("2입니다.");
break;
case 3 :
System.out.println("3입니다.");
break;
default:
System.out.println("1, 2, 3이 아닙니다.");
}
}
}
1입니다.
5. 예제3
- 변수 ch의 값을 'a', 'b', 'c', 'd', 'A', 'B', 'C', 'D'로 바꿔가면서 실행한다.
public class SwitchExam3 {
public static void main(String[] args) {
char ch = 'a';
switch (ch) {
case 'a' :
case 'A' :
System.out.println("A입니다.");
break;
case 'b' :
case 'B' :
System.out.println("B입니다");
break;
case 'c' :
case 'C' :
System.out.println("C입니다.");
break;
default:
System.out.println("A, B, C가 아닙니다.");
}
}
}
A입니다.
6. 예제4
- str의 값을 "감자", "고구마", "사과"로 변경하며 실행한다.
- JDK 7 이상에서만 switch에서 String 타입을 사용할 수 있다.
public class SwitchExam4 {
public static void main(String[] args) {
String str = "감자";
switch (str) {
case "감자" :
System.out.println("감자입니다");
break;
case "고구마" :
System.out.println("고구마입니다.");
break;
default:
System.out.println("감자와 고구마가 아닙니다.");
}
}
}
감자입니다.