1. 선택문 switch~case
var level = 3;
switch(level){
case 1:
console.log("일반회원");
break;
case 2:
console.log("실버회원");
break;
case 3:
console.log("골드회원");
break;
case 4:
console.log("VIP회원");
break;
default:
console.log("비회원");
break;
}
- ⭐숫자와 문자를 정확하게 체크 // 3 != "3"
- case~break 사이에 문법을 적용 : if, else if, else, for, while, do~while
- break : 문법을 강제 종료하는 것을 말함
- default : case외 데이터값 //else와 같은 성격
var pay = "card";
var msg = "";
switch(pay){
case "card": case "CARD": case "신용카드": case 1:
msg = "신용카드 결제";
break;
case"bank":
case"BANK":
case"계좌이체":
msg = "계좌이체 결제";
break;
case"vbank":
msg = "가상계좌이체 결제";
break;
default:
msg = "해당 결제 서비스는 사용 불가능";
break;
}
console.log(msg);
- 멀티케이스 : 가로로 주루룩, 세로로 주루룩 다 가능
😊응용문제
다음과 같이 단축단어를 입력 하였을 경우 통신사를 출력
S,s => SKT, K,k=>KT, L,l=>LG, 그외 알뜰폰
var tel = "l";
var msg1 = "";
switch(tel){
case "S": case "s":
msg1 = "SKT";
break;
case "K": case "k":
msg1 = "KT";
break;
case "L": case "l":
msg1 = "LG";
break;
default:
msg1 = "알뜰폰";
break;
}
console.log(msg1);
2. switch~case + if
var n = 1;
var msg="";
switch(n){
case 1: case 2: case 3: case 4: case 5:
if(n%2==0){
msg = "짝수입니다.";
}else{
msg = "홀수입니다.";
}
break;
default:
msg = "5이하의 숫자만 입력하세요.";
break;
}
console.log(msg);
😊응용문제
switch + if 사용
사용자가 변수에 card라고 입력시 롯데, 현대, 삼성으로 나누어짐
사용자가 "삼성"을 선택시 "시스템점검입니다."라는 결과값을 출력
단, 롯데, 현대를 선택시 "결제 진행하시겠습니까?"라고 결과를 출력
사용자가 변수에 bank라고 입력시 하나, 국민, 신한으로 나누어짐
사용자가 "신한", "국민"을 선택시 "계좌이체가 가능합니다."라는 결과값을 출력
"하나"를 선택시 "해당 계좌이체는 불가능합니다."라고 출력
그 외에 card에 "롯데, 현대, 삼성"외의 단어를 선택하게 되면, "서비스 불가"라고 출력합니다.
var pay = "card";
var corp = "현대";
var pmsg = "";
switch(pay){
case "card":
if(corp=="삼성"){
pmsg="시스템점검입니다.";
}else if(corp=="롯데"||corp=="현대"){
pmsg="결제 진행하시겠습니까?";
}else{
pmsg="서비스 불가";
}
break;
case "bank":
if(corp=="하나"){
pmsg="해당 계좌이체는 불가능합니다.";
}else if(corp=="신한"||corp=="국민"){
pmsg="계좌이체가 가능합니다.";
}else{
pmsg="서비스 불가";
}
break;
default:
pmsg="서비스 불가";
break;
}
console.log(pmsg);
주저리주저리
지금 win11에서 자바 8번9번 버그 생김
10에서는 잘 작동되는데 운영체제땜에 에러남
switch문법이 문법중 가장 느림
조건이 많을 경우엔 그냥 if문 사용이 더 빠름