for-each문 연습
for-each문이란?
새로운 형태의 for
문은 편의상 for-each
문이라 부른다고 합니다.
for-each
문은 배열
의 첫번째 항목에서 마지막 항목까지 반복되는 동작을 명령할 때 사용합니다.
즉, arr
라는 배열에 대해 우리가 자주 사용해왔던 for(int i=0; i<arr.length; i++){}
와 완벽하게 동일합니다.
워낙 자주 사용되는 형태라 좀 더 직관적으로 쓸 수 있게 추가된 기능이라 하네요.
사용법
문법은 다음과 같습니다.
for(“배열에 들어있는 자료형” “해당 자료를 부를 임시 이름(int i랑 비슷한 느낌입니다 마음대로 정해도 돼요) : 배열 이름){}
만약 정수가 들어있는 int
배열이라면 아래 예시처럼 되겠네요.
int[] arr = {1, 2, 3, 4, 5};
for(int asdf : arr){
System.out.println(asdf)
}
for(int i=0; i<arr.length; i++){
System.out.println(arr[i]);
}
두 for
문은 완벽하게 똑같이 작동하게 됩니다.
다만 for-each
문은 루프 범위를 마음대로 조정할 수 없고 반드시 배열의 처음부터 끝까지 동작이 수행된다고 합니다.
물론 참조 자료형이 들어있는 배열에도 적용 가능합니다.
Student 클래스
에 선언한 변수들을 값으로 가진 학생 정보가 studentList
라는 배열에 들어있다고 가정합시다.
이 때 for-each
문을 사용해 각각의 학생들에게 동일한 동작을 수행하고 싶다면,
for(Student qwerqwer : studentList){
동작내용(qwerqwer);
}
이 역시 기존 for
문으로 풀어쓰면
for(int i=0; i<studentList.length; i++){
동작내용(studentList[i]);
}
이 됩니다.
아래는 제가 실습하며 적어본 코드와 결과입니다. 두 for
문의 출력결과가 같은걸 확인할 수 있네요.
(인코딩 설정 바꾸면서 한글이 다 깨져버렸어요. 미리 찍어둔 사진으로 대체합니다.)
두 for문의 결과값이 같은걸 확인할 수 있습니다. 이상입니다.