자바/자바 문법
조건문
Blue_bull
2024. 12. 26. 23:30
Java 반복문 및 전위/후위 증감자 정리 (확장 for문 포함)
1. 반복문 종류
Java에서 사용 가능한 반복문:
- for 구문
- 기본 for문
- 확장 for문 (Enhanced for loop)
- while 구문
- do-while 구문
1.1 for 구문
형식:
for (초기화; 조건식; 증감식) { // 반복 실행할 코드 }
예제:
for (int i = 0; i < 5; i++) { System.out.println("i: " + i); }
1.2 확장 for문 (Enhanced for loop)
컬렉션 또는 배열의 모든 요소를 순회할 때 사용합니다.
형식:
for (자료형 변수 : 배열/컬렉션) { // 반복 실행할 코드 }
예제 (배열 순회):
int[] numbers = {1, 2, 3, 4, 5}; for (int num : numbers) { System.out.println("num: " + num); }
예제 (컬렉션 순회):
import java.util.ArrayList; public class EnhancedForLoopExample { public static void main(String[] args) { ArrayList<String> fruits = new ArrayList<>(); fruits.add("Apple"); fruits.add("Banana"); fruits.add("Cherry"); for (String fruit : fruits) { System.out.println(fruit); } } }
특징:
- 읽기 전용으로 배열/컬렉션의 값을 수정하려면 일반 for문을 사용해야 합니다.
1.3 while 구문
조건이 참(
true
)일 때 반복합니다.형식:
while (조건식) { // 반복 실행할 코드 }
예제:
int i = 0; while (i < 5) { System.out.println("i: " + i); i++; // 증감 필요 }
1.4 do-while 구문
최소 한 번 실행 후 조건을 평가합니다.
형식:
do { // 반복 실행할 코드 } while (조건식);
예제:
int i = 0; do { System.out.println("i: " + i); i++; } while (i < 5);
2. 전위 증감자와 후위 증감자 차이
2.1 전위 증감자 (++x
, --x
)
- 값을 먼저 증가/감소시키고 나서 사용합니다.
2.2 후위 증감자 (x++
, x--
)
- 값을 먼저 사용하고 나서 증가/감소가 이루어집니다.
3. 반복문에서 전위/후위 증감자 비교
3.1 for 반복문
- 전위 증감자:
for (int i = 0; i < 5; ++i) { System.out.println("i: " + i); }
- 후위 증감자:
for (int i = 0; i < 5; i++) { System.out.println("i: " + i); }
- 결과:
- 전위와 후위 증감자는
for
문에서는 실행 결과가 동일합니다.
(증감이 반복문 끝에서 수행되기 때문)
- 전위와 후위 증감자는
3.2 while 반복문
전위 증감자:
int i = 0; while (++i < 5) { // 증가된 i 값으로 조건 확인 System.out.println("i: " + i); // 출력: 1, 2, 3, 4 }
후위 증감자:
int i = 0; while (i++ < 5) { // i 값으로 조건 확인 후 증가 System.out.println("i: " + i); // 출력: 1, 2, 3, 4, 5 }
결과 차이:
- 전위 증감자: 출력값은
1 ~ 4
. - 후위 증감자: 출력값은
1 ~ 5
.
- 전위 증감자: 출력값은
3.3 do-while 반복문
전위 증감자:
int i = 0; do { System.out.println("i: " + i); } while (++i < 5); // 증가 후 조건 확인
후위 증감자:
int i = 0; do { System.out.println("i: " + i); } while (i++ < 5); // 조건 확인 후 증가
결과 차이:
- 전위 증감자: 출력값은
0 ~ 4
. - 후위 증감자: 출력값은
0 ~ 5
.
- 전위 증감자: 출력값은
4. 확장 for문과 증감자
확장 for문은 배열/컬렉션을 순회하는 데 특화되어 있으며, 증감자가 포함되지 않습니다. 내부적으로 반복 인덱스가 관리됩니다.
예제:
int[] numbers = {1, 2, 3, 4, 5}; for (int num : numbers) { System.out.println("num: " + num); // 1, 2, 3, 4, 5 출력 }
특징:
- 배열 또는 컬렉션의 모든 요소를 자동으로 순회.
- 배열의 값을 수정하려면 일반 for문을 사용해야 함.
5. 전체 비교
반복문 유형 | 전위 증감자 (++x ) |
후위 증감자 (x++ ) |
---|---|---|
for | 반복문의 끝에서 증가 후 조건 확인 | 반복문의 끝에서 증가 후 조건 확인 |
while | 증가 후 조건 확인 | 조건 확인 후 증가 |
do-while | 증가 후 조건 확인 | 조건 확인 후 증가 |
확장 for문 | 증감자가 포함되지 않음 | 증감자가 포함되지 않음 |
6. 요약
- for문:
- 반복 횟수를 정확히 알고 있을 때 사용.
- 전위/후위 증감자는 실행 결과가 동일.
- 확장 for문:
- 배열이나 컬렉션을 순회할 때 사용.
- 증감자가 포함되지 않음.
- while문:
- 전위/후위 증감자에 따라 조건 평가 순서가 달라질 수 있음.
- do-while문:
- 최소 한 번 실행 후 조건을 평가.