✍🏻 조건문
01. if
- 조건이 여러개 또는 범위에 해당하는 경우
- if 문 내에서 하나의 문장을 실행할 때는 {} 생략 가능
- if 문 내에서 2개 이상의 문장을 실행할 때는 {} 생략 불가능
- 참고로 else if 여러번 사용 가능
- 단 else 키워드 사용은 지양‼️
- 예시
-시험성적에 따른 학점 (이 전 F, 80점보다 크거나 같으면 B, 90점보다 크거나 같으면 A)
if ( 조건 ) {
...수행할 명령...
} else if ( 조건 ){
...수행할 명령...
} else if ( 조건 ){
...수행할 명령...
} else {
...수행할 명령...
}
//오후 2시 이전이고 모닝 커피를 마시지 않은 경우
hour = 10;
boolean morningCoffee = false; //모닝커피
//if (hour < 14 && morningCoffee == false)
if (hour < 14 && !morningCoffee) {
System.out.println("아메리카노+1");
}
System.out.println("커피 주문 완료");
02. switch case
- 명확한 케이스가 있는 경우 switch case문 이용
-A, B, C는 표현에 해당하는 값
-주어진 값이 어떤 case에 해당하는지 확인
-해당케이스 수행 후 만약 break;가 없다면 다음 케이스 수행 (break; 가 나올 때까지)
-모든 case에 해당되지 않을 때는 default 수행
-수행할 명령이 동일한 case는 통합 (명령;break; 모두 삭제)
- 예시
-석차에 따른 장학금 지급 (1등 전액, 2-3등 반액, 그 외 장학금 없음)
-중고 상품의 등급에 따른 가격을 책정 (1급 최상, 4급 최하)
-온라인 쇼핑몰에서 에러 발생 시 에러코드에 따라 서로 다른 메세지 노출
switch (표현) {
case A:
명령;
break;
case B:
명령;
break;
case C:
명령;
break;
default:
명령;
}
//석차에 따른 장학금 지급
//1등 : 전액, 2등 : 반액, 3등 : 반액, 그 외 : 장학급 대상 아님
int ranking = 2;
switch (ranking){
case 1:
System.out.println("전액 장학금");
break;
case 2:
case 3:
System.out.println("반액 장학금");
break;
default:
System.out.println("장학금 대상 아님");
}
System.out.println("조회 완료");
//중고상품의 등급에 따른 가격을 책정 (1급 : 최상, 4급 : 최하)
int grade = 2; //등급
int price = 7000; //기본 가격
switch (grade){
case 1:
price += 1000; //price = price + 1000
case 2:
price += 1000;
case 3:
price += 1000;
break;
}
System.out.println(grade + "등급 제품의 가격 : " + price + "원");
//1등급 제품의 가격 : 10000원
//2등급 제품의 가격 : 9000원
//3등급 제품의 가격 : 8000원