[Java] for문과 향상된 for문

2025. 9. 30. 19:25Dev./Java

728x90
반응형

for문

for (초기식; 조건식; 증감식) {
    // 반복 실행할 코드
}

for문 안의 조건을 살펴보면

 

  • 초기식
    • 반복문이 시작할 때 한 번만 실행됨.
    • 예: int i = 0; → i를 0으로 시작.
  • 조건식
    • 반복을 계속할지 결정하는 부분.
    • true면 반복 실행, false면 반복 종료.
    • 예: i < 5 → i가 5보다 작으면 계속 돈다.
  • 증감식
    • 한 번 반복이 끝날 때마다 실행됨.
    • 예: i++ → i를 1씩 증가.
int[] arr = {1, 2, 3, 4, 5};
int sum = 0;

for (int i = 0; i < arr.length; i++) {
    sum += arr[i];
}

System.out.println(sum);

 

특징

 

  • 인덱스를 직접 제어할 수 있음 (i)
  • 배열이나 리스트의 특정 위치 접근 가능
  • 반복 조건과 증감식을 자유롭게 조절 가능
  • 조금 더 유연하지만 코드가 길어짐

 

향상된 for문 (Enhanced for loop, for-each문)

int[] arr = {1, 2, 3, 4, 5};
int sum = 0;

for (int n : arr) {
    sum += n;
}

System.out.println(sum);

특징

 

  • 배열 또는 컬렉션의 모든 원소를 순회할 때 간단
  • 인덱스를 직접 쓸 수 없음 → 단순 반복에 최적화
  • 코드가 간결하고 가독성 좋음
  • 내부적으로 iterator 또는 인덱스를 사용하여 반복
  • 일반적인 문자열 자체는 for-each문으로 쓸 수 없으므로 str.toCharArray()로 변환해 사용
    • 혹은 charAt() + 일반 for문

 

 

값만 필요하거나 모든 원소를 순회할땐 향상된 for문을 사용하고 인덱스가 필요하거나 조건, 증감 조정이 필요할땐 일반 for문을 사용한다.

 

 

728x90
반응형

'Dev. > Java' 카테고리의 다른 글

[Java] Java 메서드(Method) 와 객체화  (0) 2025.10.14
[Java] HashSet  (0) 2025.10.10
[Java] .equals()와 ==의 차이  (0) 2025.10.03
[Java] 타입 변환 (int, double, char, String)  (0) 2025.10.02
[Java] Java 문자열 String / StringBuilder  (0) 2025.09.29