--- id: java-strings-numbers title: "Java Strings Numbers" category: "Programming_Language" status: "draft" verification_status: "conceptual" canonical_id: "" aliases: ["자바 숫자와 문자열"] 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", "strings", "numbers", "plus-operator"] raw_sources: ["https://www.w3schools.com/java/java_strings_numbers.asp"] applied_in: [] github_commit: "" --- # [[Java Strings Numbers]] ## 🎯 한 줄 통찰 (One-line insight) `+` between a String and a number ALWAYS produces string concatenation, never numeric addition — the moment either operand is a String, the entire expression's result type becomes String. [S1] ## 🧠 핵심 개념 (Core concepts) - **Number + number** — arithmetic addition: `int z = x + y;` gives a number. [S1] - **String + String** — concatenation: `String z = x + y;` gives a joined string, not a sum. [S1] - **String + number** — concatenation wins: the number is converted to text and appended. [S1] ## 🧩 추출된 패턴 (Extracted patterns) - **String contamination rule** — the source's own "WARNING!" framing signals this is a well-known gotcha: `"10" + 20` gives `"1020"` (String), not `30` (int) — once any operand is a String, `+` always concatenates. [S1] ## 📖 세부 내용 (Details) - Number + number: `int x = 10; int y = 20; int z = x + y; // 30`. [S1] - String + String: `String x = "10"; String y = "20"; String z = x + y; // "1020"`. [S1] - String + number: `String x = "10"; int y = 20; String z = x + y; // "1020"`. [S1] ## ⚖️ 모순 및 업데이트 (Contradictions & updates) - **WARNING으로 강조된 핵심 규칙**: + 연산자가 문자열/숫자 조합에서 항상 문자열 연결로 동작한다는 점이 소스에서 경고 수준으로 강조됨. [S1] ## 🛠️ 적용 사례 (Applied in summary) 현재 발견된 실제 적용 사례가 없습니다 — Java Print Variables 챕터에서 이미 선행 소개된 + 연산자의 이중 의미(연결/덧셈) 규칙을 다시 확인한다. [S1] ## 💻 코드 패턴 (Code patterns) String + number always concatenates (Java): ```java String x = "10"; int y = 20; String z = x + y; // "1020" (String), NOT 30 ``` ## ✅ 검증 상태 및 신뢰도 - **상태:** draft - **검증 단계:** conceptual - **출처 신뢰도:** B (W3Schools — widely used educational reference, not a primary standards body) - **신뢰 점수:** 0.90 - **중복 검사 결과:** 신규 생성 (New discovery) ## 🔗 지식 그래프 (Knowledge Graph) - **상위/루트:** [[Java Tutorial]] - **관련 개념:** [[Java Print Variables]], [[Java Strings Concat]], [[Java Type Casting]] - **참조 맥락:** + 연산자의 이중 의미를 다시 확인 — 문자열이 하나라도 포함되면 항상 연결로 동작. ## 📚 출처 (Sources) - [S1] W3Schools — Java Numbers and Strings — https://www.w3schools.com/java/java_strings_numbers.asp ## 📝 변경 이력 (Change history) - 2026-07-04: Initial draft synthesized from the W3Schools "Java Numbers and Strings" page (Astra wiki-curation, P-Reinforce v3.1 format).