JAVA
JAVA switch문
테라시아
2024. 11. 8. 19:33
switch
- 조건식의 결과가 아니라 값만으로 비교
- switch ~ case
- if 문보다 속도가 빠름
사용방법)
switch(변수){
case 값1:
값1일 때 수행할 문장;
break;
case 값2:
값2일 때 수행할 문장;
break;
...
default:
모든 case에 해당하지 않을 때 수행할 문장;
}
☆ Code
import java.util.Random;
import util.MyUtil;
public class SwitchEx {
public static void main(String[] args) {
// TODO Auto-generated method stub
Random rd = new Random();
int i = rd.nextInt(3); // i는 0, 1, 2 중 하나
switch(i) {
case 0:
MyUtil.p("아 0이시네요 꽝입니다");
break;
case 1:
MyUtil.p("아 1이시네요 이것도 꽝입니다.");
break;
case 2:
MyUtil.p(MyUtil.RED + "This is the TWO!!!!!" + MyUtil.END);
MyUtil.p("축!!!!! 당첨!!! 거액의 상품 증정!!");
break;
default:
MyUtil.p("엄청난 버그 발생..... 시스템 이상함....");
}
// 의도적으로 break를 빼는 경우
// 아래 단계 작업이 상위 작업을 반드시 거쳐야 하는 경우
// 작업 간 포함 개념
int workProcess = rd.nextInt(4);
MyUtil.p("");
MyUtil.p(MyUtil.GREEN + "***앞으로의 작업 단계***" + MyUtil.END);
switch(workProcess) {
case 0:
MyUtil.p("Step1 : 작업준비");
case 1:
MyUtil.p("Step2 : 개발준비");
case 2:
MyUtil.p("Step3 : 개발완료");
case 3:
MyUtil.p("Step4 : 출시준비");
}
// if statement로 구현한다면
if(workProcess == 0) {
MyUtil.p("Step1 : 작업준비");
MyUtil.p("Step2 : 개발준비");
MyUtil.p("Step3 : 개발완료");
MyUtil.p("Step4 : 출시준비");
}
else if(workProcess == 1) {
MyUtil.p("Step2 : 개발준비");
MyUtil.p("Step3 : 개발완료");
MyUtil.p("Step4 : 출시준비");
}
else if(workProcess == 2) {
MyUtil.p("Step3 : 개발완료");
MyUtil.p("Step4 : 출시준비");
}
else if(workProcess == 3) {
MyUtil.p("Step4 : 출시준비");
}
}
}