/*
switch 문, switch case문
- 조건 : 값(데이터) > 정수, 문자열, 열거형 // if 문 조건은 boolean 이었음
switch (조건) {
case 값:
구현부;
break; // 최소한 1개는 있어야 함
[case 값:
구현부;
break;] x N
[default :
구현부;
break;]
}
*/
// m1();
// m2();
// m3();
m4();
// 연습
// if문 문제 == switch문 문제로 풀어보기
}//main
private static void m4() {
int num = 10; // 양수인지 음수인지
if (num > 0) {
System.out.println("양수");
} else {
System.out.println("음수");
}
// 에러
// switch (num > 0) {
// case true:
// System.out.println("양수");
// break;
// case false:
// System.out.println("음수");
// break;
// }
}
private static void m3() {
// aaa: // Label > 코드의 위치를 설명하는 용도 > 표지판
// case 뒤에 라벨이 붙은 것
//요구사항] 사용자 월 입력 > 해당월의 마지막 일?
int lastDay = 0; //마지막 일
int month = 5;
switch (month) {
case 1: case 3: case 5: case 7:
case 8: case 10: case 12:
lastDay = 31;
break;
case 4: case 6: case 9: case 11:
lastDay = 30;
break;
case 2:
lastDay = 28;
break;
}
System.out.printf("%d월은 %d일까지 있습니다.\n", month, lastDay);
}
private static void m2() throws IOException {
// 요구사항] 자판기
// - 메뉴 출력 > 음료 선택 > 가격 출력
// - 가격 변동 > 앞으로 평생 콜라와 사이다의 가격을 동일하게 판매
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.println("=================");
System.out.println(" 자판기");
System.out.println("=================");
System.out.println("1. 콜라");
System.out.println("2. 사이다");
System.out.println("3. 박카스");
System.out.println("-----------------");
System.out.print("번호선택: ");
String input = reader.readLine();
// if (input.equals("1")) {
// System.out.println("700원입니다.");
// } else if (input.equals("2")) {
// System.out.println("700원입니다.");
// } else if (input.equals("3")) {
// System.out.println("500원입니다.");
// } else {
// System.out.println("선택하신 음료는 없습니다.");
// }
// switch (input) {
//case "1":
//System.out.println("700원입니다.");
//break;
//case "2":
//System.out.println("700원입니다.");
//break;
//case "3":
//System.out.println("500원입니다.");
//break;
//default:
//System.out.println("음료 없음");
//break; // else 문과 같음
//}
if (input.equals("1") || input.equals("2")) {
System.out.println("800원입니다.");
} else if (input.equals("3")) {
System.out.println("500원입니다.");
} else {
System.out.println("선택하신 음료는 없습니다.");
}
switch (input) {
case "1":
// break 삭제하면 두 번 실행 되므로,
case "2":
System.out.println("800원입니다.");
break;
case "3":
System.out.println("500원입니다.");
break;
default:
System.out.println("음료 없음");
break; }
// break 는 필수가 아니다
}
private static void m1() {
//요구사항] 숫자를 1개 입력받아 한글로 출력하시오.
// 1 > "하나"
// 2 > "둘"
int num = 1;
if (num == 1) {
System.out.println("하나");
} else if (num == 2) {
System.out.println("둘");
} else if (num == 3) {
System.out.println("셋");
}
switch (num) {
case 1:
System.out.println("하나");
break; // 단독으로 사용하진 않고, 다른 제어문을 도와줄 때 사용, return 같은 역할
case 2:
System.out.println("둘");
break;
case 3:
System.out.println("셋");
break;
}
}
}