자바(Java)에서 반복 작업은 프로그래밍에서 중요한 역할을 합니다. 이때 사용되는 주요한 반복문 중 하나가 for문입니다. for문은 일정 횟수의 반복 작업을 효과적으로 수행하고, 배열이나 컬렉션 등의 데이터 구조를 순회하는 데 매우 유용합니다. 이 글에서는 Java의 for문의 기본 구조, 활용 사례, 그리고 다양한 패턴을 알아보겠습니다.
1. for문의 기본 구조
for문은 다음과 같은 기본 구조를 가지고 있습니다.
for (초기화식; 조건식; 증감식) {
// 반복할 코드
}
- 초기화식(Initialization): 반복문이 시작될 때 한 번만 실행되며, 반복 변수를 초기화합니다. 이 부분에서 변수를 선언하고 초기값을 할당합니다.
- 조건식(Condition): 반복문이 실행될 조건을 검사합니다. 조건이 true인 동안 반복문이 실행됩니다.
- 증감식(Iteration): 각 반복이 끝난 후 실행되며, 반복 변수의 값을 증가 또는 감소시킵니다.
예를 들어, 1부터 10까지의 숫자를 출력하는 for문은 다음과 같이 작성할 수 있습니다.
for (int i = 1; i <= 10; i++) {
System.out.println(i);
}
2. for문의 활용
for문은 반복 작업을 처리할 때 특히 유용합니다. 다음은 for문을 사용한 몇 가지 활용 사례입니다.
2.1. 숫자 범위 순회
for문은 주어진 범위 내의 숫자를 순회하는 데 효과적입니다. 예를 들어, 1부터 100까지의 숫자를 출력하거나 더할 때 사용할 수 있습니다.
int sum = 0;
for (int i = 1; i <= 100; i++) {
sum += i;
}
System.out.println("1부터 100까지의 합: " + sum);
2.2. 배열 순회
for문은 배열의 모든 요소를 순회하고 각 요소에 접근하는 데 사용됩니다. 아래 예제는 배열의 모든 요소를 출력하는 예입니다.
int[] numbers = {1, 2, 3, 4, 5};
for (int i = 0; i < numbers.length; i++) {
System.out.println(numbers[i]);
}
2.3. 컬렉션 순회
Java에서 컬렉션을 다룰 때 for-each 루프로도 알려진 for문의 확장된 형태를 사용할 수 있습니다. 이를 사용하면 컬렉션의 모든 요소를 순회하는 코드를 간단하게 작성할 수 있습니다.
List<String> names = new ArrayList<>();
names.add("Alice");
names.add("Bob");
names.add("Charlie");
for (String name : names) {
System.out.println(name);
}
2.4. 문자열 순회
for문은 문자열의 각 문자를 순회하고 처리하는 데 사용할 수 있습니다.
String text = "Hello, Java!";
for (int i = 0; i < text.length(); i++) {
char ch = text.charAt(i);
System.out.print(ch + " ");
}
3. for문의 다양한 패턴
for문은 다양한 패턴으로 사용될 수 있습니다. 아래는 일부 흔한 패턴 예제입니다.
3.1. 역순 반복
for문을 사용하여 역순으로 반복할 수 있습니다.
for (int i = 10; i >= 1; i--) {
System.out.println(i);
}
3.2. 건너뛰기
for문 안에서 continue 문을 사용하여 특정 조건에 해당하는 반복을 건너뛸 수 있습니다.
for (int i = 1; i <= 10; i++) {
if (i % 2 == 0) {
continue; // 짝수는 건너뜁니다.
}
System.out.println(i);
}
3.3. 중첩 for문
for문을 중첩하여 다차원 배열을 순회하거나 다중 루프를 구현할 수 있습니다.
for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 3; j++) {
System.out.print(i * j + " ");
}
System.out.println();
}
4. 향상된 for문 (for-each 루프)
Java 5부터 도입된 향상된 for문, 또는 for-each 루프를 사용하면 배열과 컬렉션을 더 간단하게 순회할 수 있습니다. 이를 통해 코드의 가독성을 높이고 오류 가능성을 줄일 수 있습니다.
int[] numbers = {1, 2, 3, 4, 5};
for (int number : numbers) {
System.out.println(number);
}
for-each 루프는 인덱스를 직접 다룰 필요가 없으므로 코드를 간결하게 만들어줍니다.
5. break와 continue의 활용
for문 안에서 break와 continue 문을 사용하여 반복을 제어할 수 있습니다.
- break: 반복문을 즉시 종료하고 반복을 빠져나옵니다.
- continue: 현재 반복을 건너뛰고 다음 반복으로 넘어갑니다.
for (int i = 1; i <= 10; i++) {
if (i == 5) {
break; // i가 5일 때 반복문 종료
}
if (i % 2 == 0) {
continue; // 짝수일 때는 다음 반복으로 넘어감
}
System.out.println(i);
}
6. for문과 무한 루프
for문을 무한 루프로 사용하여 특정 조건이 충족될 때까지 반복 실행할 수 있습니다. 아래는 간단한 무한 루프의 예제입니다.
for (;;) {
// 무한 루프 내의 코드
}
무한 루프는 주로 프로그램이 실행 중에 외부 조건에 따라 종료되도록 하는데 사용됩니다.
7. 결론
Java의 for문은 반복 작업을 처리하는 데 필수적인 구문 중 하나입니다. 다양한 형태의 for문을 사용하여 숫자 범위 순회, 배열 및 컬렉션 순회, 특정 패턴에 따른 반복 등 다양한 작업을 수행할 수 있습니다.
또한 break와 continue 문을 활용하여 반복문을 제어하고, 무한 루프를 통해 특정 조건이 충족될 때까지 반복 실행하는 데 사용할 수 있습니다. 프로그래머는 다양한 for문 패턴을 숙지하고, 적절히 활용하여 효율적인 코드를 작성할 수 있어야 합니다.
'JAVA' 카테고리의 다른 글
Java 객체지향이란 (0) | 2024.06.07 |
---|---|
Java 람다 알아보자 (2) | 2024.06.02 |
Java 접근지정자 알아보자 2편 (0) | 2023.10.14 |
Java 접근지정자 알아보자 1편 (0) | 2023.10.07 |
Java 인터페이스 알아보자 (0) | 2023.10.02 |