--- id: java-switch title: "Java Switch" category: "Programming_Language" status: "draft" verification_status: "conceptual" canonical_id: "" aliases: ["switch statement", "자바 스위치문"] duplicate_of: "" source_trust_level: "B" confidence_score: 0.9 created_at: 2026-07-04 updated_at: 2026-07-04 review_reason: "" merge_history: [] tags: ["java", "programming", "w3schools", "switch"] raw_sources: ["https://www.w3schools.com/java/java_switch.asp"] applied_in: [] github_commit: "" --- # [[Java Switch]] ## 🎯 한 줄 통찰 (One-line insight) `break` is what makes switch a selection statement rather than a fallthrough executor — without it, execution would continue into subsequent case blocks; `default` is the only branch exempt from needing a trailing break, since it's already last. [S1] ## 🧠 핵심 개념 (Core concepts) - **`switch(expression)`** — evaluates once, compares result against each `case` value. [S1] - **`case x:`** — a branch that runs if expression matches x. [S1] - **`break`** — exits the switch block once a match's code has run, saving execution time by skipping remaining cases. [S1] - **`default:`** — runs when no case matches; does not need `break` if it's the last statement. [S1] ## 🧩 추출된 패턴 (Extracted patterns) - **break as an efficiency device** — the source frames break not just as correctness but as performance: it "ignores the execution of all the rest of the code in the switch block," implying omitting it costs unnecessary case comparisons/execution. [S1] ## 📖 세부 내용 (Details) - Weekday example: `int day = 4; switch (day) { case 1: ... case 4: System.out.println("Thursday"); break; ... } // Outputs "Thursday"`. [S1] - Default fallback: `int day = 4; switch (day) { case 6: ...; case 7: ...; default: System.out.println("Looking forward to the Weekend"); } // Outputs "Looking forward to the Weekend"`. [S1] ## ⚖️ 모순 및 업데이트 (Contradictions & updates) - **default의 break 생략 가능**: default가 마지막 문장일 경우 break가 필요 없다는 점이 소스에서 명시됨. [S1] ## 🛠️ 적용 사례 (Applied in summary) 현재 발견된 실제 적용 사례가 없습니다 — 다중 else-if 체인을 대체하는 표준 다지선다 분기 구조다. [S1] ## 💻 코드 패턴 (Code patterns) Switch with default fallback (Java): ```java int day = 4; switch (day) { case 6: System.out.println("Today is Saturday"); break; case 7: System.out.println("Today is Sunday"); break; default: System.out.println("Looking forward to the Weekend"); } ``` ## ✅ 검증 상태 및 신뢰도 - **상태:** draft - **검증 단계:** conceptual - **출처 신뢰도:** B (W3Schools — widely used educational reference, not a primary standards body) - **신뢰 점수:** 0.90 - **중복 검사 결과:** 신규 생성 (New discovery) ## 🔗 지식 그래프 (Knowledge Graph) - **상위/루트:** [[Java Tutorial]] - **관련 개념:** [[Java Else If]], [[Java Break Continue]], [[Java While Loop]] - **참조 맥락:** 다중 분기의 대안 구조 — break 키워드는 이후 반복문(loop)에서도 재등장. ## 📚 출처 (Sources) - [S1] W3Schools — Java Switch — https://www.w3schools.com/java/java_switch.asp ## 📝 변경 이력 (Change history) - 2026-07-04: Initial draft synthesized from the W3Schools "Java Switch Statements" page (Astra wiki-curation, P-Reinforce v3.1 format).