본문 바로가기

인강 보습 (인프런,유데미,패스트캠퍼스)/나도코딩의 자바 기본편

제어문 (1) - If, Else, Switch

public class _01_If {
    public static void main(String[] args) {
        // 조건문 If
        int hour = 15; // 오후 3시

        // if 문 내에서 하나의 문장을 실행할 때는 { } 생략 가능
        if (hour < 14)
            System.out.println("아이스 아메리카노 +1");

        // if 문 내에서 2개 이상의 문장을 실행할 때는 { } 생략 불가
        if (hour < 14) {
            System.out.println("아이스 아메리카노 +1");
            System.out.println("샷추가");
        }
        System.out.println("커피 주문 완료 #1");

        // 오후 2시 이전, 모닝 커피를 마시지 않은 경우?
        hour = 10;
        boolean morningCoffee = false; // 모닝 커피
        // if (hour < 14 && morningCoffee == false) {
        if (hour < 14 && !morningCoffee) {
            System.out.println("아이스 아메리카노 +1");
        }
        System.out.println("커피 주문 완료 #2");

        // 오후 2시 이후이거나 모닝 커피를 마신 경우?
        hour = 15;
        morningCoffee = true;
        // if (hour >= 14 || morningCoffee == true) {
        if (hour >= 14 || morningCoffee) {
            System.out.println("아이스 아메리카노 (디카페인) +1");
        }
        System.out.println("커피 주문 완료 #3");
    }
}
public class _02_Else {
    public static void main(String[] args) {
        // 조건문 If Else
        int hour = 10;
        if (hour < 14) { // 오후 2시 이전이면
            System.out.println("아이스 아메리카노 +1");
        } else { // 그 외의 경우이면
            System.out.println("아이스 아메리카노 (디카페인) +1");
        }
        System.out.println("커피 주문 완료 #1");

        // 오후 2시 이후이거나 모닝 커피를 마신 경우?
        hour = 10;
        boolean morningCoffee = false;
        if (hour >= 14 || morningCoffee == true) { // 오후 2시 이후이거나 모닝 커피를 마신 경우?
            System.out.println("아이스 아메리카노 (디카페인) +1");
        } else { // 그 외의 경우이면
            System.out.println("아이스 아메리카노 +1");
        }
        System.out.println("커피 주문 완료 #2");
    }
}
public static void main(String[] args) {
    // 조건문 ElseIf

    // 한라봉 에이드가 있으면 +1
    // 또는 망고 주스가 있으면 +1
    // 또는 아이스 아메리카노 +1

    boolean hallabongAde = true; // 한라봉 에이드
    boolean mangoJuice = true; // 망고 주스

    if (hallabongAde) {
        System.out.println("한라봉 에이드 +1");
    } else if (mangoJuice) {
        System.out.println("망고 주스 +1");
    } else {
        System.out.println("아이스 아메리카노 +1");
    }
    System.out.println("커피 주문 완료 #1");

    // else if 는 여러번 사용 가능
    hallabongAde = false;
    mangoJuice = false;
    boolean orangeJuice = true;

    if (hallabongAde) {
        System.out.println("한라봉 에이드 +1");
    } else if (mangoJuice) {
        System.out.println("망고 주스 +1");
    } else if (orangeJuice) {
        System.out.println("오렌지 주스 +1");
    } else {
        System.out.println("아이스 아메리카노 +1");
    }
    System.out.println("커피 주문 완료 #2");

    // else 는 없어도 가능
    hallabongAde = false;
    mangoJuice = false;
    orangeJuice = false;

    if (hallabongAde) {
        System.out.println("한라봉 에이드 +1");
    } else if (mangoJuice) {
        System.out.println("망고 주스 +1");
    } else if (orangeJuice) {
        System.out.println("오렌지 주스 +1");
    }
    System.out.println("커피 주문 완료 #3");
}
public static void main(String[] args) {
    // Switch Case

    // 석차에 따른 장학금 지급
    // 1등 : 전액 장학금
    // 2등 : 반액 장학금
    // 3등 : 반액 장학금
    // 그 외 : 장학금 대상 아님

    // If Else 문을 이용 (여러 조건 또는 범위에 해당하는 조건)
    int ranking = 4; // 등수
    if (ranking == 1) {
        System.out.println("전액 장학금");
    } else if (ranking == 2 || ranking == 3) {
        System.out.println("반액 장학금");
    } else {
        System.out.println("장학금 대상 아님");
    }
    System.out.println("조회 완료 #1");

    // Switch Case 문을 이용 (명확한 케이스가 있는 경우)
    ranking = 2;
    switch (ranking) {
        case 1:
            System.out.println("전액 장학금");
            break;
        case 2:
            System.out.println("반액 장학금");
            break;
        case 3:
            System.out.println("반액 장학금");
            break;
        default:
            System.out.println("장학금 대상 아님");
    }
    System.out.println("조회 완료 #2");

    // case 2 와 3 을 통합
    ranking = 3;
    switch (ranking) {
        case 1:
            System.out.println("전액 장학금");
            break;
        case 2:
        case 3:
            System.out.println("반액 장학금");
            break;
        default:
            System.out.println("장학금 대상 아님");
    }
    System.out.println("조회 완료 #3");

    // 중고상품의 등급에 따른 가격을 책정 (1급 : 최상, 4급 : 최하)
    int grade = 1; // 등급
    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원
}