백엔드/나도코딩 자바
[나도코딩 자바 챕터4] Switch Case 장학금지급 ,중고상품 등급에 따른 가격을 책정해보기
응개야
2023. 8. 16. 13:49
Switch Case를 쓰기 앞서
어떤 때 쓰면 좋을까?
장학금 지급 여부 확인 프로그램을 짤 때 유용할 것이다.
ranking이라는 변수에 등급제로 1,2,3,4로 정해보자.
나는 4등급이라고 해놨다. 여긴 case로 쓰지 않고 if조건문으로 써보겠다.
// Switch Case
// 석차에 따른 장학금 지급
// 1등 : 전액 장학금
// 2등 : 반액 장학금
// 3등 : 반액 장학금
// 그 외 : 장학금 대상 아님
// If Else 문을 이용
int ranking = 4; // 1등
if (ranking == 1) {
System.out.println("전액 장학금");
} else if (ranking == 2) {
System.out.println("반액 장학금");
} else if (ranking == 3) {
System.out.println("반액 장학금");
} else {
System.out.println("장학금 대상 아님");
}
System.out.println("조회 완료 #1");
if 조건문으로
ranking == 1 일때?
출력값 "전액 장학금"
ranking == 2 일때?
출력값 "반액 장학금"
.
.
.
.
Switch Case 문을 이용해보자.
변수 값 정해주고
switch (변수) {
case 1: (수행할 명령)
sout(출력)
break;
.
.
.
이렇게 실행되는데
각각 case 뒤 break를 넣어주어야 한다.
// Switch Case 문을 이용
ranking = 2;
switch (ranking) {
case 1:
System.out.println("전액 장학금");
break;
case 2:
case 3:
System.out.println("장학금 대상 아님");
break;
default:
System.out.println("조회 완료 #3");
case 2와
case 3는 같으므로 case 2는 생략해주었다.
중고상품 등급에 따른 가격을 책정할 때도
Switch Case를 써보자.
// 중고상품의 등급에 따른 가격을 책정 (1등 : 최상, 4급 : 최하)
int grade = 1; // 등급
int price = 7000; // 기본 가격
switch (grade) {
case 1:
price += 1000; // price = price + 1000;
case 2:
price += 1000; // price = price + 1000;
case 3:
price += 1000; // price = price + 1000;
break;
}
System.out.println(grade+ "등급 제품의 가격: " + price + "원");
// 1등급 제품의 가격 : 10000
// 2등급 제품의 가격 : 9000
// 3등급 제품의 가격 : 8000
1등급 제품 가격을 실행해보자.
기본 price : 7천원으로 시작하고
3등급은 7천원(기본 price) + 1천원 // price = price + 1000;
2등급은 3등급 가격에 + 1천원
1등급은 2등급 가격에 + 1천원