for each문은 for문을 더 간편하게 사용할 수 있도록 해준다.
사용법
for (타입 변수명 : 자료구조){
// 실행문장
}
예시
package test;
public class Test {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5, 6, 7};
int i = 0;
for (int a : arr) {
System.out.println(i++ + "번째 원소의 값 : " + a);
}
}
}
실행결과
0번째 원소의 값 : 1
1번째 원소의 값 : 2
2번째 원소의 값 : 3
3번째 원소의 값 : 4
4번째 원소의 값 : 5
5번째 원소의 값 : 6
6번째 원소의 값 : 7
for each문의 장점은 가독성이 좋다는 것이다. 그리고 linked list를 순차탐색할 경우 for each문이 유리하다.
나머지의 경우에는 일반 for문이 비슷하거나 유리하다.
for문에 이름 붙이기
package test;
public class Test {
public static void main(String[] args) {
int[][] arr = {{1, 2, 3, 4, 5, 6, 7}, {8, 9, 10, 11}};
loop : for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
if(arr[i][j] == 9) {
break loop;
}
System.out.print(arr[i][j] + " ");
}
System.out.println();
}
}
}
이중 for문의 경우 내부 for문에서 break를 사용하면 내부 for문에서만 빠져나온다. 그러지 않고 한 번에 for문을 전부 빠져나오고 싶다면 외부 for문에 이름을 지정해 준 뒤에 break [식별자]와 같은 형식으로 사용한다.
Reference
- 자바의 정석(남궁성지음, 도우출판)
- For-each문은 For문 보다 얼마나 빠를까? (tistory.com)
'Java' 카테고리의 다른 글
가변배열, 가변인자 (0) | 2023.05.02 |
---|---|
arraycopy 메서드를 이용한 배열의 복사 (0) | 2023.04.26 |
인코딩과 디코딩 (0) | 2023.04.21 |
scanner 사용법 (0) | 2023.04.18 |
변수 (0) | 2023.04.13 |