거인의 코딩일지
[Java] 향상된 for문 / for each문?? 이란?? 장단점??? 본문
728x90
향상된 for 문이란???
- 향상된 for문이란 JDK 1.5 부터 배열의 모든 요소를 참조하기 위해 새롭게 추가된 반복문
- 향상된/ 개선된 for문은 for each 라고도 불린다.
- 배열의 길이만큼 반복하는 작업을 수행
- 따라서 배열이나 여러 원소를 포함한 자료형에서만 사용할 수 있다는 특성을 가지고 있다.
for(타입 변수이름 : 배열) {
배열의 길이만큼 반복적으로 실행하고자 하는 명령문;
}
// ex)
// 향상된 for문에 돌릴 배열 선언 및 생성, 값 초기화
int intArr[] = {1, 2, 3, 4, 5};
// for(데이터타입 변수명 : 배열명)
for(int number : intArr) {
// 배열의 길이만큼 number를 반복하기 때문에 배열의 모든 요소가 출력된다.
System.out.println(number);
}
- 결과적으로 배열의 길이만큼 for 문을 반복하게 된다.
- 배열의 0번쨰 인덱스 위치의 값부터 꺼내어서 변수에 저장후 반복적으로 실행하고자 하는 명령문을 수행하는 원리
- 따라서 0번 인덱스 부터 순차적으로 변수에 저장하고 실행하여 명령문을 다 수행하게 되면 for 문을 빠져나가게 된다.
향상된 for 문의 장점??
- 비교적 간단하고 가족성 좋은 코드를 작성할 수 있다.
- 배열 인덱스 문제를 해결 할 수 있다.
- (ArrayIndexOutOfBoundsException 예외를 피할 수 있다.)
향상된 for 문의 단점??
- 배열이나 ArrayList 값을 사용할 순 있지만 수정이 불가능 하다.
- 인덱스를 사용하지 못한다.
- 일반 for 문에서 int i = 0 일때 i 같은 인덱스가 존재하지 않는다.
참고
[Java] 향상된 for문
향상된 for문이란 향상된 for문이란 JDK 1.5부터 배열의 모든 요소를 참조하기 위해 새롭게 추가된 반복문이다. 배열의 길이만큼 반복하는 작업을 수행하기 때문에 배열이나 여러 원소를 포함한 자
bgm16.tistory.com
728x90
'코딩 > JAVA' 카테고리의 다른 글
[Java] startsWith()?? endsWith()??? (2) | 2023.12.25 |
---|---|
[Java]객체 타입 확인 instanceof 란??? (0) | 2023.12.24 |
[JAVA] String.join() 메서드란???? (0) | 2023.10.31 |
[JAVA] charAt() 함수란?? 기능??? (2) | 2023.10.27 |
[JPA] deleteAll(), deleteAllInBatch(), deleteInBatch() 개념과 차이점 (0) | 2023.10.10 |