> Java > java지도 시간 > 본문

Java Switch-Case 문의 Fall-Through 이해

王林
풀어 주다: 2024-07-19 17:37:06
원래의
491명이 탐색했습니다.

Understanding Fall-Through in Java Switch-Case Statements

Java 프로그래밍에서 switch-case 문은 변수 값을 기반으로 여러 코드 블록 중 하나의 코드 블록을 실행하는 데 사용되는 제어 구조입니다. 여러 개의 if-else 문을 사용하는 것보다 더 효율적이고 읽기 쉽습니다. switch-case 문을 사용할 때 이해해야 할 중요한 개념 중 하나는 "fall-through"입니다.

폴스루(Fall-Through)란 무엇입니까?

폴스루(fall-through)는 break 문을 만나지 않고 코드 실행이 한 케이스에서 다음 케이스로 계속될 때 발생합니다. 기본적으로 일치하는 Case 블록이 실행된 후 제어 흐름은 break 문을 만나거나 switch 문이 끝날 때까지 후속 Case 블록으로 이동합니다.

Switch-Case 문의 구문

Java에서 switch-case 문의 기본 구문은 다음과 같습니다.

switch (expression) {
    case value1:
        // code block
        break;
    case value2:
        // code block
        break;
    default:
        // default code block
}
로그인 후 복사

폴스루의 예

폴스루 작동 방식을 이해하기 위해 예를 살펴보겠습니다.

int day = 2;
switch (day) {
    case 1:
        System.out.println("Monday");
    case 2:
        System.out.println("Tuesday");
    case 3:
        System.out.println("Wednesday");
    default:
        System.out.println("Other day");
}
로그인 후 복사

이 예의 출력은 다음과 같습니다.

Tuesday
Wednesday
Other day
로그인 후 복사

설명

day가 2와 같으면 사례 2 블록이 실행되어 "Tuesday"가 인쇄됩니다. Case 2 이후에는 break 문이 없기 때문에 Case 3까지 실행이 계속된 다음 기본 Case로 실행되어 각각 "Wednesday"와 "Other day"가 인쇄됩니다. 이것은 넘어지는 행동의 전형적인 예입니다.

추락 방지

폴스루(fall-through)를 방지하려면 각 사례를 break 문으로 종료해야 합니다.

int day = 2;
switch (day) {
    case 1:
        System.out.println("Monday");
        break;
    case 2:
        System.out.println("Tuesday");
        break;
    case 3:
        System.out.println("Wednesday");
        break;
    default:
        System.out.println("Other day");
        break;
}
로그인 후 복사

이제 출력은 다음과 같습니다.

Tuesday
로그인 후 복사

의도적인 추락

때때로 동일한 코드 블록으로 여러 사례를 실행하기 위해 의도적으로 fall-through를 사용할 수 있습니다.

int day = 2;
switch (day) {
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
        System.out.println("It's a weekday");
        break;
    case 6:
    case 7:
        System.out.println("It's a weekend");
        break;
    default:
        System.out.println("Invalid day");
}
로그인 후 복사

이 예에서 요일 값 1부터 5까지는 모두 "평일입니다"가 인쇄됩니다.

결론

Switch-case 문의 폴스루를 이해하는 것은 명확하고 버그 없는 Java 코드를 작성하는 데 중요합니다. 폴스루는 특정 시나리오에서 유용할 수 있지만 일반적으로 의도하지 않은 동작을 방지하기 위해 break 문을 사용하는 것이 좋습니다.

참고: Java와 달리 Ruby의 Case-When 구성은 폴스루 동작을 표시하지 않습니다. 각 when 절은 독립적이며 명시적인 지침 없이는 후속 when 절이 자동으로 계속 실행되지 않습니다.

위 내용은 Java Switch-Case 문의 Fall-Through 이해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿