CODEDRAGON ㆍDevelopment/Java
for-each문(확장 for문; Enhanced for 문)
· 배열의 일부가 아닌, 배열의 전체를 참조할 필요가 있는 경우에 유용하게 사용할 수 있습니다. 배열과 컬렉션의 모든 요소를 참조하기 위해 사용합니다.
· for-each 문을 통한 값의 변경은 실제 배열에 반영되지 않으니, 값의 참조 목적으로만 사용해야 합니다.
· 자바 5.0 이상(JDK 1.5 이상)에서 사용 가능합니다.
· 같은 성능을 유지하면서도 코드의 명확성을 확보하고 발생할 수 있는 버그를 예방해 줍니다.
for-each문 형식
· 콜론(:) 왼쪽에는 배열요소의 값이 반복 저장될 변수가 오고, 오른쪽에는 반복대상(배열 or 컬렉션)이 위치합니다.
· 저장원소타입은 배열 또는 컬렉션에 저장된 원소의 타입과 동일해야 합니다.
· 중괄호({})는 일반적인 for문과 역할이 같습니다.
명시한 반복대상(배열이나 컬렉션)의 길이만큼 반복되어 실행됩니다.
반복마다 각 요소는 명시한 변수의 이름으로 저장되며, 블록안의 문장에서는 이 변수를 사용하여 각 요소를 참조할 수 있습니다.
for(저장원소타입 제어변수명 : 반복대상){ // 반복 수행할 내용 } |
배열 요소 출력 예
· 반복문이 한 번 반복될 때마다 변수 e에 컬렉션(또는 배열) arr의 인덱스 요소가 하나씩 저장되며, e에 저장된 원소와 한 칸의 공백을 출력합니다.
· 반복은 배열의 인덱스 0부터 n-1까지 반복되어집니다.
· 배열 자체는 참조만 되기 때문에 변경되지 않습니다.
int[] arr = new int[]{10, 20, 30, 40, 50};
|
for(int i=0; i<arr.length; i++){ System.out.println(arr[i]); } |
for(int e: arr){ System.out.println(e); } |
for-each문의 인스턴스 배열
· 인스턴스 배열에 저장된 참조 값의 변경은 불가능하지만,
· 참조 값을 통한 인스턴스의 접근은 데이터 변경도 가능합니다.
'Development > Java' 카테고리의 다른 글
String 클래스, 문자열 수정 불가능(불변적 특징), 문자열 처리의 편의성 해결 (0) | 2017.09.29 |
---|---|
Enum 클래스의 주요메소드 (0) | 2017.09.29 |
열거체(enumeration type), 자바의 열거체 장점, Enum 클래스, 열거체 정의, 열거체 사용 (0) | 2017.09.29 |
Wrapper클래스(래퍼클래스) - 자바에서 제공되는 Wrapper클래스, (0) | 2017.09.29 |
java.time 패키지 (0) | 2017.09.29 |