UXO Studio
  • Java 기초 16 : switch
    2024년 09월 25일 11시 21분 00초에 업로드 된 글입니다.
    작성자: UXO Studio

     

     

    01 If와 switch

    02 switch, case

    03 default

    04 break

     

     

     

     

    01 If, switch 비교

     

    If를 사용하는 경우

    1) 다양한 조건 : 여러 조건을 평가해야 하는 경우, 각 조건이 복잡하거나 다를 때 유용. 예를 들어, 조건이 범위에 기반하거나 논리적 연산자(AND, OR)를 사용하는 경우

    2) 범위 조건 : 특정 값이 범위에 속하는지 검사해야 할 때 사용. 예를 들어, 점수가 60 이상 70 미만일 때 "합격"이라고 출력하는 경우

    3) 복잡한 조건 : 조건이 복잡하거나 서로 다른 종류의 비교가 필요할 때 유용. if-else 문은 조건문이 다차원적이거나 상호 연결된 경우에 적합

     

    switch를 사용하는 경우

    1) 명확한 케이스 : 변수가 여러 개의 특정 값 중 하나에 해당할 때 사용. 예를 들어, 변수의 값이 특정 상수 중 하나일 때 특정 작업을 수행하는 경우

    2) 단일 변수의 값 : 변수의 값이 미리 정의된 상수와 정확히 일치할 때 가장 효율적으로 사용 switch는 특정 값에 대한 명확한 분기 처리를 간결하게 표현할 수 있음

    3) 상수 값 : switch 문은 변수의 값이 여러 상수 중 하나와 일치하는지를 확인하는 데 유용. 특히 각 케이스가 독립적이고, 변수가 정확히 일치하는 경우에 적합

     

    아래의 '02 switch, case'에서 더 직관적으로 비교해 볼 수 있음

     

     

    02 switch, case

    public class Main {
        public static void main(String[] args) {
            int rank = 1;
            
            System.out.println("[If로 구현]");
            if (rank == 1) {
                System.out.println("전액 장학금 대상입니다.");
            } else if (rank == 2) {
                System.out.println("반액 장학금 대상입니다.");
            } else if (rank == 3) {
                System.out.println("반액 장학금 대상입니다.");
            }
            System.out.println("조회 완료\n");
    
            rank = 3;
            System.out.println("[switch, case로 구현]");
            switch (rank) {
                case 1 :
                    System.out.println("전액 장학금 대상입니다.");
                    break;
                case 2 :
                    System.out.println("반액 장학금 대상입니다.");
                    break;
                case 3 :
                    System.out.println("반액 장학금 대상입니다.");
                    break;
            }
            System.out.println("조회 완료");
        }
    }
     
    ------------------------
    [If로 구현]
    전액 장학금 대상입니다.
    조회 완료
    
    [switch, case로 구현]
    반액 장학금 대상입니다.
    조회 완료
    
    ------------------------
     

     

     

    03 default

    public class Main {
        public static void main(String[] args) {
            int rank = 4;
            switch (rank) {
                case 1 :
                    System.out.println("전액 장학금 대상입니다.");
                    break;
                case 2 :
                case 3 :
                    System.out.println("반액 장학금 대상입니다.");
                    break;
                default :
                    System.out.println("장학금 대상이 아닙니다.");
            }
            System.out.println("조회 완료");
        }
    }
     
    ------------------------
    장학금 대상이 아닙니다.
    조회 완료
    
    ------------------------
     

    default 값을 지정해 사용할 수 있음

    case 2, 3 처럼 같은 내용은 통합해 사용할 수 있음

     

     

    04 break

     

    break를 사용하면 switch문을 탈출. break를 사용하지 않으면 순서대로 다음 케이스의 문장을 실행하거나 더 이상 다음 문장이 없으면 switch문 종료

    public class Main {
        public static void main(String[] args) {
            int rank = 1;
            int price = 8000;
    
            System.out.println("맛있는 한우 가게. 맛 없으면 환불 200% ~");
            switch (rank) {
                case 1 :
                    price += 2000;
                case 2 :
                    price += 1000;
                case 3 :
                    price += 1000;
                    System.out.println(rank + "등급 한우는 " + price + "원입니다.");
                    break;
                default :
                    System.out.println(rank + "등급 한우는 저희 가게에 없습니다. OTL");
                    break;
            }
        }
    }
     
    ------------------------
    맛있는 한우 가게. 맛 없으면 환불 200% ~
    1등급 한우는 12000원입니다.
    
    ------------------------
     

     

    rank = 3 일 경우의 결과

    ------------------------
    맛있는 한우 가게. 맛 없으면 환불 200% ~
    3등급 한우는 9000원입니다.
    
    ------------------------
     

     

    rank = 4 일 경우의 결과

    ------------------------
    맛있는 한우 가게. 맛 없으면 환불 200% ~
    4등급 한우는 저희 가게에 없습니다. OTL
    
    ------------------------
     

     

     

     

     

    #Java프로그래밍 #If문 #Switch문 #조건문 #프로그래밍기초 #코딩기초 #프로그래밍공부 #코딩연습 #프로그래밍언어 #초보프로그래머 #Java기초 #IfSwitch비교 #SwitchCase #Default #Break #Java조건문 #조건문예제 #코드예제 #조건분기 #프로그래밍조건문

    'Java > Java 기초' 카테고리의 다른 글

    Java 기초 17 : for, while, do while  (0) 2024.09.25
    Java 기초 15 : If  (0) 2024.09.25
    Java 기초 14 : 퀴즈 (주민등록번호 추출)  (0) 2024.09.25
    Java 기초 13 : 특수문자  (0) 2024.09.25
    Java 기초 12 : 문자열 비교  (0) 2024.09.25
    댓글