> Java > java지도 시간 > Switch 문에 Break 문이 필요한 이유는 무엇입니까?

Switch 문에 Break 문이 필요한 이유는 무엇입니까?

DDD
풀어 주다: 2024-10-29 03:55:02
원래의
929명이 탐색했습니다.

 Why Do Switch Statements Need Break Statements?

Break가 없는 Switch 문

switch 문에서 Case 사이에 Break 문이 없으면 오류가 발생합니다. 다음 코드 조각을 고려하십시오.

switch (x) {

    case 0:
        // code

    case 1:
        // code

    case 2:
        // code
}
로그인 후 복사

설명

Java의 스위치 문에는 대/소문자를 구분하기 위한 break 문이 필요합니다. 중단 없이 조건이 이전 케이스와 일치하더라도 후속 케이스의 코드가 실행됩니다. 위의 예에서 x가 1이면 사례 1과 2가 모두 실행됩니다.

이 동작은 일반적으로 의도하지 않은 것이며 잘못된 프로그램 논리로 이어질 수 있습니다. Findbugs는 이러한 잠재적인 오류를 식별하고 이를 경고로 표시합니다.

사용법

Break 문은 사례 실행을 종료하고 코드가 후속 사례로 넘어가는 것을 방지하는 데 사용됩니다. 사례. 다음 코드는 문법적으로 정확하며 대소문자가 일치하는 코드만 실행합니다.

switch (foo) {
    case 0:
        doSomething();
        break;
    case 1:
        doSomethingElse();
        break;
    default:
        doSomeOtherThing();
        break;
}
로그인 후 복사

예외

특정 시나리오에서는 의도적으로 허용하는 것이 바람직할 수 있습니다. 후속 사례로 넘어갈 코드입니다. 예를 들어,

switch (foo) {
    case 0:
    case 1:
        doSomething();
        break;
    case 2:
        doSomethingElse();
        break;
    default:
        doSomeOtherThing();
        break;
}
로그인 후 복사

이 경우 foo가 0 또는 1이면 doSomething()이 실행됩니다. 이는 "fall-through"라고 알려진 일반적인 패턴이며 일반적으로 코드가 없을 때 허용되는 것으로 간주됩니다. 사례 사이에 나타납니다(예: 사례 1과 사례 2). 대부분의 분석 도구는 이러한 상황에서 실패 사례를 오류로 표시하지 않습니다.

위 내용은 Switch 문에 Break 문이 필요한 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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