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
문에서의 제어문
반복문의 흐름을 제어하기 위해 break
와 continue
같은 제어문을 사용할 수 있습니다.
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);
}
}
설명:
- 변수
i
는for
문의 블록 내에서만 사용 가능합니다. for
문 밖에서i
를 참조하려고 하면 컴파일 오류가 발생합니다.
9. 결론
Java의 for
문은 반복 작업을 수행하는 데 매우 유용한 제어 구조입니다. 초기화, 조건, 반복 후 작업을 통해 반복의 시작, 조건, 그리고 반복 후의 작업을 명확하게 정의할 수 있습니다. 배열이나 컬렉션을 순회할 때 특히 유용하며, break
와 continue
같은 제어문을 통해 반복의 흐름을 유연하게 제어할 수 있습니다. 향상된 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 |