본문 바로가기
Java

java switch 심화 예제 모음

by Status Code 2024. 2. 11.

심화적인 Switch 문법 예제



1 case 문 블록

(설명: 여러 case 문을 하나의 블록으로 처리하여 코드 간결하게 작성하는 예시)

int number = 10;

switch (number) {
  case 1:
  case 2:
  case 3:
    System.out.println("1부터 3 사이의 숫자입니다.");
    // 공통 처리를 수행합니다.
    break;
  case 4:
  case 5:
  case 6:
    System.out.println("4부터 6 사이의 숫자입니다.");
    // 공통 처리를 수행합니다.
    break;
  default:
    System.out.println("6보다 큰 숫자입니다.");
}



2 break 문

(설명: break 문을 사용하여 특정 case 문에서 빠져나가는 예시)

String grade = "A";

switch (grade) {
  case "A":
    System.out.println("우수한 학생입니다.");
    break;
  case "B":
    System.out.println("좋은 학생입니다.");
    break;
  case "C":
  case "D":
    System.out.println("보통의 학생입니다.");
    break;
  case "F":
    System.out.println("더 노력해야 합니다.");
    break;
  default:
    System.out.println("유효하지 않은 학점입니다.");
}



3 fall-through

(설명: break 문 없이 연속된 case 문을 실행하는 예시)

int number = 2;

switch (number) {
  case 1:
    System.out.println("1입니다.");
  case 2:
    System.out.println("2입니다.");
  case 3:
    System.out.println("3입니다.");
    break;
  default:
    System.out.println("1, 2, 3 중 하나가 아닙니다.");
}



4 default 문

(설명: 모든 case 문에 해당하지 않는 경우 처리하는 예시)

String fruit = "바나나";

switch (fruit) {
  case "사과":
    System.out.println("사과입니다.");
    break;
  case "오렌지":
    System.out.println("오렌지입니다.");
    break;
  case "포도":
    System.out.println("포도입니다.");
    break;
  default:
    System.out.println("알 수 없는 과일입니다.");
}



5 switch 표현식

(설명: switch 표현식을 사용하여 간단한 계산 수행하는 예시)

int number = 2;
int result = switch (number) {
  case 1:
    number + 1;
  case 2:
    number * 2;
  default:
    number;
};
System.out.println("결과: " + result);



6 Stream API와 연동

(설명: Stream API와 switch 문을 연동하여 리스트의 요소를 처리하는 예시)

List<String> fruits = Arrays.asList("사과", "바나나", "오렌지", "포도");

fruits.stream()
    .forEach(fruit -> {
      switch (fruit) {
        case "사과":
          System.out.println("사과입니다.");
          break;
        case "바나나":
          System.out.println("바나나입니다.");
          break;
        case "오렌지":
          System.out.println("오렌지입니다.");
          break;
        default:
          System.out.println("알 수 없는 과일입니다.");
      }
    });

댓글