switch(식 또는 값 또는 변수){
case 값1 :
값1 일 때 실행문;
break; // switch-case 블럭 탈출
case 값2 :
값2 일 때 실행문;
break; // switch-case 블럭 탈출
case 값3 :
값3 일 때 실행문;
break; // switch-case 블럭 탈출
default :
값1 ~ 값3 이외의 값이 들어온 경우 실행문;
* // default 문장은 생략도 가능
============================코드============================
Scanner sc = new Scanner(System.in);
System.out.print("1 ~ 3 사이의 숫자 중에서 하나를 입력하세요. : ");
int num = sc.nextInt();
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 ~ 3 이외의 숫자가 입력 되었습니다.");
}
sc.close();




============================코드============================
Scanner sc = new Scanner(System.in);
System.out.print("정수 하나를 입력하세요. : ");
int su = sc.nextInt();
switch(su % 5) {
case 0 :
System.out.println("입력 받은 " + su + "는 5의 배수입니다.");
break;
case 1 :
System.out.println("입력 받은 " + su + "는 5의 배수가 아닙니다. 나머지가 1입니다.");
break;
case 2 :
System.out.println("입력 받은 " + su + "는 5의 배수가 아닙니다. 나머지가 2입니다.");
break;
case 3 :
System.out.println("입력 받은 " + su + "는 5의 배수가 아닙니다. 나머지가 3입니다.");
break;
case 4 :
System.out.println("입력 받은 " + su + "는 5의 배수가 아닙니다. 나머지가 4입니다.");
break;
}
sc.close();





============================코드============================
Scanner sc = new Scanner(System.in);
System.out.print("알파벳 a ~ c 사이의 단어 중에서 한 글자 입력 : ");
char fruit = sc.next().charAt(0); // 문자열 중에 맨 앞에 있는 하나를 가져와라!
switch(fruit) {
case 'a' : // --> 단일문자형이기 때문에 "가 아닌 < ' >가 들어감!
System.out.println("선택한 과일은 apple 입니다.");
break;
case 'b' :
System.out.println("선택한 과일은 banana 입니다.");
break;
case 'c' :
System.out.println("선택한 과일은 cherry 입니다.");
break;
default :
System.out.println("선택한 과일이 업습니다.");
break;
}
sc.close();




***단일문자형은 ( ' ) 사용임을 주의해야 함!!
============================코드============================
Scanner sc = new Scanner(System.in);
System.out.print
("직급(사장/전무/부장/차장/과장/대리/사원) 중 하나의 직급을 선택하세요. : ");
String position = sc.next();
switch(position) {
case "사장" :
System.out.println("사장의 월급은 1,000 만원 입니다.");
break;
case "전무" :
System.out.println("전무의 월급은 800 만원 입니다.");
break;
case "부장" :
System.out.println("부장의 월급은 650 만원 입니다.");
break;
case "차장" :
System.out.println("차장의 월급은 500 만원 입니다.");
break;
case "과장" :
System.out.println("과장의 월급은 400 만원 입니다.");
break;
case "대리" :
System.out.println("대리의 월급은 300 만원 입니다.");
break;
case "사원" :
System.out.println("사원의 월급은 200 만원 입니다.");
break;
}
System.out.println();

============================코드============================
// 다중 if ~ else문으로 처리를 해보자
if(position.equals("사장")) { // *주의해야함* if(position == "사장") --> 가능한가? 답은 X (== 은 숫자를 비교하기 위한 연산)
System.out.println("사장의 월급은 1,000 만원 입니다.");
}else if(position.equals("전무")){
System.out.println("전무의 월급은 800 만원 입니다.");
}else if(position.equals("부장")) {
System.out.println("부장의 월급은 650 만원 입니다.");
}else if(position.equals("차장")) {
System.out.println("차장의 월급은 500 만원 입니다.");
}else if(position.equals("과장")) {
System.out.println("과장의 월급은 400 만원 입니다.");
}else if(position.equals("대리")) {
System.out.println("대리의 월급은 300 만원 입니다.");
}else if(position.equals("사원")) {
System.out.println("사원의 월급은 200 만원 입니다.");
}else {
System.out.println("없는 직급입니다.");
}
sc.close();


*** if (변수 == "사장")은 불가능!! ==은 숫자를 위한 연산이기 때문에 문자 출력은 if (변수.equals(""))로 처리함