본문 바로가기
프로그래밍/JAVA

초보 자바 프로그래밍(5) - 조건문 switch

by 머니테크리더 2023. 5. 1.
반응형

조건문 switch 대표 이미지
조건문 switch 대표 이미지

🔖 INDEX

     

     

    switch 문은 자바의 제어문 중 하나로, 변수나 표현식을 여러 가지 값과 비교하고 일치하는 값을 가진 코드 블록을 실행합니다. switch 문은 여러 개의 if-else 문을 사용하는 것보다 훨씬 효율적이며 가독성이 좋습니다.

     

    switch 문의 문법

    switch 문의 문법은 다음과 같습니다.

    switch (표현식) {
       case 값1:
          // 표현식이 값1과 일치하는 경우 실행할 코드 블록
          break;
       case 값2:
          // 표현식이 값2와 일치하는 경우 실행할 코드 블록
          break;
       ...
       default:
          // 모든 경우에 일치하지 않는 경우 실행할 코드 블록
          break;
    }

    switch 문을 사용하는 방법은 다음과 같습니다. ​

    • 괄호 안의 표현식을 평가하고 해당 값을 case 문의 값과 비교합니다.
    • 표현식이 case 문의 값 중 하나와 일치하면 해당 case 문에 연결된 코드 블록이 실행됩니다.
    • 모든 case 문과 일치하지 않는 경우 default 문에 연결된 코드 블록이 실행됩니다.
    • break 문은 switch 문을 종료하고 다음 case 문으로 실행이 넘어가는 것을 방지합니다.

     

    switch 문을 사용하면 여러 개의 if-else 문보다 코드가 더 간결하고 가독성이 높아집니다. switch 문은 다음과 같은 경우에 유용합니다.

    • 변수나 표현식이 일치하는 여러 가지 값을 테스트하는 경우
    • 변수나 표현식이 다른 값에 따라 다른 작업을 수행해야 하는 경우
    • 많은 if-else 문을 사용하는 경우 코드의 가독성을 높이기 위해

     

     

    switch 문의 예제 코드

    다음은 switch 문을 사용한 예제 코드입니다.

    int dayOfWeek = 3;
    String dayName;
    switch (dayOfWeek) {
       case 1:
          dayName = "월요일";
          break;
       case 2:
          dayName = "화요일";
          break;
       case 3:
          dayName = "수요일";
          break;
       case 4:
          dayName = "목요일";
          break;
       case 5:
          dayName = "금요일";
          break;
       default:
          dayName = "잘못된 요일";
          break;
    }
    System.out.println("오늘은 " + dayName + "입니다.");

    이 예제에서는 dayOfWeek라는 변수를 사용하여 요일을 나타냅니다. switch 문을 사용하여 dayOfWeek 변수의 값에 따라 dayName 변수를 초기화합니다. 그런 다음 System.out.println 메서드를 사용하여 dayName의 값을 출력합니다.

     

    위의 코드는 dayOfWeek가 3일 때 "수요일"이라는 값을 출력합니다. 모든 경우에 대해 명확하게 처리되도록 default 문도 포함되어 있습니다.

     

     

    사용 시 주의 사항

    자바 프로그래밍에서 switch 제어문을 사용할 때 주의해야 할 몇 가지 점이 있습니다.

    1. case 문의 값은 상수이어야 합니다. 즉, 변수나 메서드 호출 등의 표현식은 사용할 수 없습니다.
    2. 각 case 문 끝에는 반드시 break 문을 사용해야 합니다. 그렇지 않으면 다음 case 문으로 실행이 넘어가게 되어 예기치 않은 결과가 발생할 수 있습니다.
    3. switch 문의 default 문은 생략할 수 있습니다. 그러나 생략하는 것은 안전하지 않습니다. 만약 모든 case 문과 일치하지 않는 경우 default 문이 없으면 switch 문은 아무런 동작을 하지 않습니다.

    switch 문은 fall-through 라는 현상을 가질 수 있습니다. 즉, switch 문에서 break 문이 생략되면 해당 case 문이 실행된 이후에 다음 case 문도 실행될 수 있습니다. 따라서 switch 문을 작성할 때는 각 case 문 끝에 반드시 break 문을 추가해야 하며, 모든 경우에 대해 명확하게 처리되도록 주의해야 합니다.

     

    이러한 사항들을 고려하면서 제어문을 사용하면, 보다 안정적이고 가독성 좋은 코드를 작성할 수 있습니다.

     

     

    댓글