본문 바로가기

언어/Java

[ 자바 / Java ] 반복문 for

반응형

 

 

Java의 for 문은 코드 블록을 여러 번 반복 실행할 때 사용되는 반복문입니다. for 문은 특정 조건이 참일 때까지 반복적으로 실행되며, 반복 횟수를 미리 알 수 있을 때 주로 사용됩니다. for 문은 세 부분으로 구성된 구문을 통해 제어됩니다: 초기화, 조건, 반복 후 작업.

1. for 문의 기본 구조

for 문의 기본 구조는 다음과 같습니다:

for (초기화; 조건; 반복 후 작업) {
    // 반복할 코드 블록
}
  • 초기화: 반복문이 시작될 때 한 번 실행됩니다. 반복을 위한 변수를 초기화하는 부분입니다.
  • 조건: 이 조건이 참(true)인 동안 반복이 계속됩니다. 조건이 거짓(false)이 되면 반복이 종료됩니다.
  • 반복 후 작업: 각 반복이 끝날 때마다 실행됩니다. 보통 반복 변수를 업데이트하는 부분입니다.

2. for 문 예제

다음은 기본적인 for 문 예제입니다.

public class ForLoopExample {
    public static void main(String[] args) {
        // 1부터 5까지 숫자를 출력하는 for 문
        for (int i = 1; i <= 5; i++) {
            System.out.println("Count: " + i);
        }
    }
}

설명:

  • int i = 1 : 반복을 위한 변수 i를 1로 초기화합니다.
  • i <= 5 : i가 5보다 작거나 같을 때까지 반복합니다.
  • i++ : 각 반복 후에 i를 1씩 증가시킵니다.
  • "Count: "와 i의 값을 출력합니다.

3. 배열과 for

for 문은 배열이나 컬렉션의 요소를 순회할 때 매우 유용합니다.

public class ArrayForLoopExample {
    public static void main(String[] args) {
        int[] numbers = {10, 20, 30, 40, 50};

        // 배열의 모든 요소를 출력하는 for 문
        for (int i = 0; i < numbers.length; i++) {
            System.out.println("Element at index " + i + ": " + numbers[i]);
        }
    }
}

설명:

  • int[] numbers = {10, 20, 30, 40, 50} : numbers라는 정수 배열을 정의합니다.
  • i < numbers.length : i가 배열의 길이보다 작을 때까지 반복합니다.
  • numbers[i] : 각 배열 요소를 순서대로 출력합니다.

4. 중첩 for

for 문은 다른 for 문 안에 중첩될 수 있습니다. 이를 통해 이중 반복을 구현할 수 있습니다. 다음은 구구단을 출력하는 중첩 for 문의 예입니다.

public class NestedForLoopExample {
    public static void main(String[] args) {
        // 구구단 출력
        for (int i = 1; i <= 9; i++) {
            for (int j = 1; j <= 9; j++) {
                System.out.print(i + " * " + j + " = " + (i * j) + "\t");
            }
            System.out.println();
        }
    }
}

설명:

  • 외부 for 문은 i 변수를 1부터 9까지 증가시킵니다.
  • 내부 for 문은 j 변수를 1부터 9까지 증가시킵니다.
  • 두 변수를 곱한 결과를 출력하며, 각 곱셈 결과는 탭(\t)으로 구분됩니다.
  • 내부 for 문이 끝날 때마다 줄바꿈을 합니다.

5. 향상된 for 문 (Enhanced for Loop)

Java 5부터 추가된 향상된 for 문은 배열이나 컬렉션을 순회할 때 더욱 간결한 구문을 제공합니다. 이를 foreach 문이라고도 합니다.

public class EnhancedForLoopExample {
    public static void main(String[] args) {
        String[] fruits = {"Apple", "Banana", "Cherry", "Date"};

        // 향상된 for 문을 사용하여 배열의 모든 요소를 출력
        for (String fruit : fruits) {
            System.out.println(fruit);
        }
    }
}

설명:

  • String[] fruits = {"Apple", "Banana", "Cherry", "Date"} : fruits라는 문자열 배열을 정의합니다.
  • for (String fruit : fruits) : fruits 배열의 각 요소를 fruit 변수에 할당하며 순회합니다.
  • 배열의 각 요소가 순서대로 출력됩니다.

6. for 문에서의 제어문

반복문의 흐름을 제어하기 위해 breakcontinue 같은 제어문을 사용할 수 있습니다.

break

break 문은 반복문을 즉시 종료합니다.

public class BreakExample {
    public static void main(String[] args) {
        for (int i = 1; i <= 10; i++) {
            if (i == 5) {
                break; // i가 5일 때 반복문 종료
            }
            System.out.println("Number: " + i);
        }
    }
}

설명:

  • i가 5에 도달하면 break 문이 실행되고 반복문이 종료됩니다.
  • 1부터 4까지의 숫자만 출력됩니다.

7. continue

continue 문은 반복문의 현재 실행을 건너뛰고, 다음 반복을 계속 수행합니다.

public class ContinueExample {
    public static void main(String[] args) {
        for (int i = 1; i <= 10; i++) {
            if (i == 5) {
                continue; // i가 5일 때 이번 반복을 건너뜀
            }
            System.out.println("Number: " + i);
        }
    }
}

설명:

  • i가 5일 때 continue 문이 실행되어 현재 반복을 건너뛰고 다음 반복을 수행합니다.
  • 5를 제외한 1부터 10까지의 숫자가 출력됩니다.

8. for 문에서의 변수 스코프

for 문에서 선언된 변수는 for 문의 블록 내에서만 유효합니다. 이를 변수의 스코프라고 합니다.

public class ScopeExample {
    public static void main(String[] args) {
        for (int i = 0; i < 5; i++) {
            System.out.println("Inside loop: " + i);
        }

        // 아래 줄은 오류를 발생시킵니다. i는 for 문 밖에서는 유효하지 않습니다.
        // System.out.println("Outside loop: " + i); 
    }
}

설명:

  • 변수 ifor 문의 블록 내에서만 사용 가능합니다.
  • for 문 밖에서 i를 참조하려고 하면 컴파일 오류가 발생합니다.

9. 결론

Java의 for 문은 반복 작업을 수행하는 데 매우 유용한 제어 구조입니다. 초기화, 조건, 반복 후 작업을 통해 반복의 시작, 조건, 그리고 반복 후의 작업을 명확하게 정의할 수 있습니다. 배열이나 컬렉션을 순회할 때 특히 유용하며, breakcontinue 같은 제어문을 통해 반복의 흐름을 유연하게 제어할 수 있습니다. 향상된 for 문을 사용하면 코드를 더 간결하게 작성할 수 있습니다.

반응형

'언어 > Java' 카테고리의 다른 글

[ 자바 / Java ] 반복문 do while  (1) 2024.06.17
[ 자바 / Java ] 반복문 while  (1) 2024.06.17
[ 자바 / Java ] 조건문 switch 문  (1) 2024.06.17
[ 자바 / Java ] 조건문 if  (1) 2024.06.17
[ 자바 /Java ] ClassPath 설정하기  (0) 2024.06.15