"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Java Switch-Case 문의 Fall-Through 이해

Java Switch-Case 문의 Fall-Through 이해

2024-07-31에 게시됨
검색:944

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의 경우 구성은 폴스루 동작을 나타내지 않습니다. 각 when 절은 독립적이며 명시적인 지침 없이는 후속 when 절이 자동으로 계속 실행되지 않습니다.

릴리스 선언문 이 글은 https://dev.to/thierrychau/understanding-fall-through-in-java-switch-case-statements-17gb?1에서 복제됩니다. 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다. 그것
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3