ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • CHAPTER 4. (2) 조건문 switch란? (switch 제약조건)
    java/ㄴ CHAPTER 4. 제어문 (조건문과 반복문) 2020. 3. 13. 06:08

    switch
     - 조건식 먼저 계산 후 결과와 일치하는 case문으로 이동, break문으로 탈출
     - 결과와 일치하는 case문이 없는 경우 default문으로 이동
     - 보통 default 문에는 break를 쓰지 않음

    장점
     - 단 하나의 조건식으로 많은 경우의 수 처리 가능

    단점
     - 제약조건이 있음



    switch 제약조건
     - 조건식은 결과값이 반드시 정수 // 왜? 이 값과 일치하는 case문으로 이동하기 때문
     - case문 값 역시 정수여야 함
     - case문 값 중복 불가 // 왜? 같은 값의 case문이 여러개면 어디로 이동해야할 지 모르기 때문
     - case문 값 반드시 상수 // 변수, 실수는 case문 값으로 사용 불가


    정리하자면
    1. switch문의 조건식 결과는 정수 또는 문자열이여야 한다
    2. case문의 값은 정수 상수, 문자, 문자열만 가능하며 중복되지 않아야 한다


    ex.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    package sample;
     
    public class sample1 {
        public static void main(String[] args) {
     
            int num, result;
            final int ONE = 1;
     
            switch (result) {
            case '1'// 상수 49와 같음
            case ONE: // final 상수
            case "YES"// 문자열 가능, JDK 1.7부터 허용
            //case num: // 변수 불가
            //case 1.0: // 실수 불가
            }
     
        }
    }
     
     


    사용 예시)

     - 게임에서 사용된다고 하심 (움직임 wasd 같은거  equals 명렁어)

     



    break
     -  각 case문의 영역을 구분하는 역할

    주의
     - 생략시 case문 사이의 구분이 없어짐 // 블록{}의 끝을 만날 때까지 모든 문장 수행 (빼먹지 않도록 주의)

Designed by Tistory.