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 중국어 웹사이트의 기타 관련 기사를 참조하세요!