for문의 사용법 및 차이점
1) 일반적 for문 사용법
// 일반적인 사용법
for(int i = 0; i < 10; i++) {
system.out.printIn(i);
}
// Array 사용법
String[] arr = new String[20];
for(int i = 0; i < arr.length; i++) {
system.out.printIn(arr[i]);
}
// List 사용법
List<String> list = new ArrayList<>();
for(int i = 0; i < arr.size(); i++) {
system.out.printIn(list.get(i));
}
2) 일반적 for문 특징
- 인덱스를 직접 조절하여 사용 할 수 있다.
EX) for(int i = 5; i < 10; i++)
- 반복문 주기를 마음대로 사용 할 수 있다.
EX) for(int i = 0; i < 10; i += 2)
- 반복 횟수를 스스로 정할 수 있다.
EX) for(int i = 0; i < 10; i++)
for(int i = 0; i < arr.length; i++)
for(int i = 0; i < arr.size(); i++)
- 반복문 중간에 원소의 수정이 가능하다
EX) int[] numbers = {1, 2, 3, 4, 5};
for (int i = 0; i < numbers.length; i++) {
numbers[i] = numbers[i] * 5;
}
- 반복문 주기를 역순으로 할 수 있다.
EX) for(int i = 10; i > 5; i--)
3) 향상된 for문 사용법
향상된 for문의 경우 java5에서 추가 되었습니다.
// Array 사용법
String[] arr = new String[20];
for(String text : arr) {
system.out.printIn(text);
}
// List 사용법
List<String> list = new ArrayList<>();
for(String text : list) {
system.out.printIn(text);
}
4) 향상된 for문 특징
- 인덱스를 직접 조절 할 수 없습니다
- 반복문 주기를 수정 할 수 없고, 순서대로 자동 반복 합니다.
- 반복문 중간에 원소의 수정이 어렵습니다.
5) 요약
1. 일반적 for문과 향상된 for문의 성능 차이는 크지 않다.
2. 인덱스 값이 필요하면 일반적 for문을 사용하고, 배열이나 리스트 전체를 읽어야 할 경우에는 향상된 for문을 사용하면 될 것 같습니다.
3. 일반적 for문의 장점은 인덱스를 원하는 대로 사용 할 수 있다.
향상된 for문의 장점은 간편성과 가독성이 좋다.
6) 향상된 for문이 원소 수정이 어려운 이유
향상된 for문의 경우 원본의 배열이나 리스트의 원소를 직접 가리키는게 아니라 원소의 복사값을 사용하기 때문입니다.
예를 들어서
int[] numbers = {1, 2, 3, 4, 5};
for (int num : numbers) {
num = num * 2; // 원소를 2배로
}
위의 경우를 보면 num은 복사값이기 때문에 원소값 변경이 안됩니다.
굳이 변경을 하려면 아래와 같은 방법으로 해볼 순 있습니다.
int[] numbers = {1, 2, 3, 4, 5};
for (int num : numbers) {
numbers[num - 1] = num * 2; // 원소를 2배로
}
그렇지만 실제로 사용할때 이런식으로 사용은 어렵다고 생각됩니다.
'개발자 > Java' 카테고리의 다른 글
| [Java] Web에서 서버에 저장된 PDF 보여주기 OR PDF 다운로드 (1) | 2025.01.16 |
|---|---|
| [Java] Jaspersoft Studio VO를 활용한 List 출력 (0) | 2024.12.13 |
| POI를 이용한 대용량 엑셀 다운로드(SXSSF 방식 + sqlSessionFactory + ResultHandler + VO 활용) (1) | 2024.10.18 |
| [Java] 숫자, 금액을 한글로 변환 (0) | 2024.06.26 |
| [Java] Collections.frequency() 사용법 (0) | 2024.06.13 |