본문 바로가기
Back-End/Java

자바의 for 문 이해하기

by 두두리안 2024. 10. 17.
728x90

for 문은 반복 횟수가 미리 정해졌을 때 주로 사용되며, 특정 조건이 만족될 때까지 코드를 반복 실행합니다. 반복 작업을 간단하고 효율적으로 처리할 수 있도록 도와줍니다.

for 문의 기본 구조

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

초기식: 반복문이 시작될 때 한 번 실행되며, 주로 반복 카운터 변수를 초기화할 때 사용됩니다.
조건식: 각 반복 전에 조건을 확인하며, 참이면 반복을 계속하고 거짓이면 반복이 종료됩니다.
증감식: 각 반복이 끝날 때마다 카운터 변수를 증가 또는 감소시킵니다.

다음은 1부터 10까지 출력하는 예시입니다:

for (int i = 1; i <= 10; i++) {
    System.out.println(i);
}

문제: i부터 endNum까지 합 구하기

i부터 endNum까지의 합을 구하는 for 문 예시:

int sum = 0;
int endNum = 3;
for (int i = 1; i <= endNum; i++) {
    sum += i;
    System.out.println("i=" + i + " sum=" + sum);
}

출력 결과:

i=1 sum=1
i=2 sum=3
i=3 sum=6

for 문과 while 문 비교

같은 코드를 while 문으로 작성할 수 있지만, for 문은 초기식, 조건식, 증감식이 한 줄에 있어서 더 깔끔합니다:

while 문 버전:

int sum = 0;
int i = 1;
int endNum = 3;
while (i <= endNum) {
    sum += i;
    System.out.println("i=" + i + " sum=" + sum);
    i++;
}

for 문에서 조건에 따른 break 사용

조건식이 없으면 무한 반복이 가능하며, 특정 조건이 만족되면 break 를 사용해 반복을 종료할 수 있습니다. 예를 들어, 합이 10을 넘을 때 반복을 멈추는 코드:

int sum = 0;
for (int i = 1; ; i++) {
    sum += i;
    if (sum > 10) {
        break;
    }
}

System.out.println("합이 10을 넘었을 때 종료: i=" + i + " sum=" + sum);

출력 결과:

합이 10을 넘었을 때 종료: i=5 sum=15

중첩 for 문

for 문 안에 또 다른 for 문을 넣어 사용할 수 있으며, 다차원 데이터를 처리할 때 유용합니다:

for (int i = 0; i < 2; i++) {
    System.out.println("외부 for i=" + i);
    for (int j = 0; j < 3; j++) {
        System.out.println("내부 for i=" + i + " j=" + j);
    }
}

출력 결과:

외부 for i=0
내부 for i=0 j=0
내부 for i=0 j=1
내부 for i=0 j=2
외부 for i=1
내부 for i=1 j=0
내부 for i=1 j=1
내부 for i=1 j=2

결론

for 문은 반복 횟수가 정해졌을 때 매우 유용하며, while 문보다 코드가 명확하고 가독성이 좋습니다. 반복 횟수가 명확하거나 카운터 변수가 필요한 경우 for 문을 사용하는 것이 더 효율적입니다. 또한, 향상된 for 문(for-each)을 활용하면 더 쉽게 배열이나 컬렉션을 반복할 수 있습니다.

 

참고

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

728x90