제어문 _조건문

yoongiiii·2023년 10월 21일
0

✍🏻 조건문

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원

0개의 댓글