백엔드/나도코딩 자바

[나도코딩 자바 챕터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천원