--- id: java-arrays-loop title: "Java Arrays Loop" 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", "arrays", "loops"] raw_sources: ["https://www.w3schools.com/java/java_arrays_loop.asp"] applied_in: [] github_commit: "" --- # [[Java Arrays Loop]] ## 🎯 한 줄 통찰 (One-line insight) The choice between a regular for loop and for-each over an array comes down to whether you need the index — for-each only gives values, so tasks needing both position and value (like labeling theater seats) require the regular indexed for loop instead. [S1] ## 🧠 핵심 개념 (Core concepts) - **Regular for with `.length`** — `for (int i = 0; i < cars.length; i++)` iterates by index. [S1] - **For-each (`:` read as "in")** — `for (String car : cars)` iterates values without an index. [S1] - **Sum accumulation** — `sum += numbers[i]` inside an indexed loop. [S1] - **Trade-off** — for-each is simpler/more readable but gives no access to the index; use regular for when index is needed. [S1] ## 🧩 추출된 패턴 (Extracted patterns) - **Index-needed rule of thumb** — the source gives a concrete deciding example: printing seat numbers requires BOTH the index (seat number) and the value (occupant name), so a regular for loop is the correct choice there, not for-each. [S1] ## 📖 세부 내용 (Details) - Indexed print: `String[] cars = {"Volvo", "BMW", "Ford", "Mazda"}; for (int i = 0; i < cars.length; i++) { System.out.println(cars[i]); }`. [S1] - Sum: `int[] numbers = {1, 5, 10, 25}; int sum = 0; for (int i = 0; i < numbers.length; i++) { sum += numbers[i]; } System.out.println("The sum is: " + sum);`. [S1] - For-each: `for (String car : cars) { System.out.println(car); }`. [S1] - Index needed (seats): `String[] seats = {"Jenny", "Liam", "Angie", "Bo"}; for (int i = 0; i < seats.length; i++) { System.out.println("Seat number " + i + " is taken by " + seats[i]); }`. [S1] ## ⚖️ 모순 및 업데이트 (Contradictions & updates) - **for-each의 한계**: 값만 제공하고 인덱스는 제공하지 않으므로, 인덱스가 필요한 경우 일반 for 루프를 써야 한다는 점이 명시됨. [S1] ## 🛠️ 적용 사례 (Applied in summary) 현재 발견된 실제 적용 사례가 없습니다 — 좌석 번호 출력처럼 인덱스+값이 모두 필요한 경우가 일반 for 루프 선택의 기준이 된다. [S1] ## 💻 코드 패턴 (Code patterns) Sum via indexed loop (Java): ```java int[] numbers = {1, 5, 10, 25}; int sum = 0; for (int i = 0; i < numbers.length; i++) { sum += numbers[i]; } System.out.println("The sum is: " + sum); ``` ## ✅ 검증 상태 및 신뢰도 - **상태:** draft - **검증 단계:** conceptual - **출처 신뢰도:** B (W3Schools — widely used educational reference, not a primary standards body) - **신뢰 점수:** 0.90 - **중복 검사 결과:** 신규 생성 (New discovery) ## 🔗 지식 그래프 (Knowledge Graph) - **상위/루트:** [[Java Tutorial]] - **관련 개념:** [[Java Arrays]], [[Java For Each Loop]], [[Java Arrays Real Life]] - **참조 맥락:** 배열 순회의 두 가지 방법 — 인덱스 필요 여부가 선택 기준. ## 📚 출처 (Sources) - [S1] W3Schools — Java Arrays Loop — https://www.w3schools.com/java/java_arrays_loop.asp ## 📝 변경 이력 (Change history) - 2026-07-04: Initial draft synthesized from the W3Schools "Java Arrays Loop" page (Astra wiki-curation, P-Reinforce v3.1 format).