--- id: java-if-shorthand title: "Java If Shorthand" category: "Programming_Language" status: "draft" verification_status: "conceptual" canonical_id: "" aliases: ["ternary operator", "자바 삼항 연산자"] duplicate_of: "" source_trust_level: "B" confidence_score: 0.88 created_at: 2026-07-04 updated_at: 2026-07-04 review_reason: "" merge_history: [] tags: ["java", "programming", "w3schools", "conditions", "ternary"] raw_sources: ["https://www.w3schools.com/java/java_conditions_shorthand.asp"] applied_in: [] github_commit: "" --- # [[Java If Shorthand]] ## 🎯 한 줄 통찰 (One-line insight) The ternary operator can be nested to handle more than two outcomes (`(a) ? x : (b) ? y : z`), but the tutorial itself flags this as making code harder to read — a rare case of the source cautioning against a feature it just demonstrated. [S1] ## 🧠 핵심 개념 (Core concepts) - **Ternary operator** — `variable = (condition) ? expressionTrue : expressionFalse;`, called "ternary" because it takes three operands. [S1] - **Purpose** — replaces simple if/else blocks with a single line. [S1] - **Inline use** — can be used directly inside `System.out.println()` without a temp variable. [S1] - **Nested ternary** — chains multiple `? :` for 3+ outcomes; readability trade-off explicitly noted. [S1] - **Guidance** — use ternary for short/simple choices; prefer regular if...else for complex logic. [S1] ## 📖 세부 내용 (Details) - Standard if/else: `int time = 20; if (time < 18) { System.out.println("Good day."); } else { System.out.println("Good evening."); }`. [S1] - Ternary equivalent: `int time = 20; String result = (time < 18) ? "Good day." : "Good evening."; System.out.println(result);`. [S1] - Inline ternary: `System.out.println((time < 18) ? "Good day." : "Good evening.");`. [S1] - Nested ternary: `String message = (time < 12) ? "Good morning." : (time < 18) ? "Good afternoon." : "Good evening.";`. [S1] ## ⚖️ 모순 및 업데이트 (Contradictions & updates) - **가독성 경고**: 중첩 삼항 연산자를 소개하면서도 동시에 가독성을 해칠 수 있다고 경고 — 짧고 단순한 경우에만 사용 권장. [S1] ## 🛠️ 적용 사례 (Applied in summary) 현재 발견된 실제 적용 사례가 없습니다 — 간단한 이진 분기를 한 줄로 축약할 때 사용하는 표준 패턴이다. [S1] ## 💻 코드 패턴 (Code patterns) Ternary operator replacing if/else (Java): ```java int time = 20; String result = (time < 18) ? "Good day." : "Good evening."; System.out.println(result); ``` ## ✅ 검증 상태 및 신뢰도 - **상태:** draft - **검증 단계:** conceptual - **출처 신뢰도:** B (W3Schools — widely used educational reference, not a primary standards body) - **신뢰 점수:** 0.88 - **중복 검사 결과:** 신규 생성 (New discovery) ## 🔗 지식 그래프 (Knowledge Graph) - **상위/루트:** [[Java Tutorial]] - **관련 개념:** [[Java Else If]], [[Java If Else]] - **참조 맥락:** 짧은 조건 분기의 축약형 — 복잡한 로직에는 부적합. ## 📚 출처 (Sources) - [S1] W3Schools — Java Short Hand If...Else (Ternary Operator) — https://www.w3schools.com/java/java_conditions_shorthand.asp ## 📝 변경 이력 (Change history) - 2026-07-04: Initial draft synthesized from the W3Schools "Java Short Hand If...Else" page (Astra wiki-curation, P-Reinforce v3.1 format).