[Java] 향상된 for문 (enhanced for loop)

동동·2021년 10월 26일
0

JAVA

목록 보기
4/9
post-thumbnail

Enhanced For Loop

향상된 for문 또는 개선된 for문, 빠른 for문, for each문
일반 for문은 사용시 초기값, 조건식, 증감식의 구조를 맞춰서 사용해야한다. 하지만 배열에서 for문 대신 향상된 for문을 사용할 경우 위의 조건식들을 생략할 수 있다.

📌 사용 조건

  • JDK 1.5 이상
  • 사용할 변수는 지역변수로 인식된다. (For문 안에서 사용되기 때문)
  • 대상은 배열 or 여러 원소를 포함한 자료형이어야 한다.

📌 사용 이유

  • 배열처럼 여러 원소로 이루어진 집합의 모든 원소에 대해 특정 작업을 반복하기 위해 사용
  • 따라서 ArrayList 같은 배열 원소 출력에 자주 사용

📌 장점

  • 간편하고 가독성 좋은 코드 작성 가능
  • for문 조건식에서의 배열 인덱스 문제 해결 (ArrayIndexOutOfBoundsException 예외를 피할 수 있다.)

📌 단점

  • 인덱스를 사용하지 못한다.(일반 for문의 (int i=0;) 할 때 i 같은 인덱스를 말하는 것) 하지만 방법이 있다.
  • 배열이나 ArrayList 값을 사용할 순 있지만 절대 수정할 수는 없다.


💡일차원배열에서의 사용 예시

String[] arr = {"1","2","3","4","5"};
 		
for(String s : arr) {
		  
 System.out.println(s);
		  
}

💡 이차원배열에서의 사용 예시

String[][] arr = {{"1-1","1-2","1-3","1-4","1-5"},{"2-1","2-2","2-3","2-4","2-5"}};
 		
for(String[] arrs : arr) {
	for(String s : arrs) {
		System.out.println(s);
	}
}

💡 삼차원배열에서의 사용 예시

String[][][] arr = {{{"1-1","1-2","1-3","1-4","1-5"},{"2-1","2-2","2-3","2-4","2-5"}},
					{{"3-1","3-2","3-3","3-4","3-5"},{"4-1","4-2","4-3","4-4","4-5"}}};
 		
for(String[][] arrtop : arr) {
	for(String[] arrs : arrtop) {
		for(String s : arrs) {
			System.out.println(s);
		}
	}
}

💡 구구단 출력 예시

class Play{
void gugu(int...args){
    int result;
    for(int dan : args){ // 입력받은 단까지의 출력을 위해 향상된 for문 사용 
        for(int i =1; i<=9;i++){
            System.out.println(dan +"X"+i +"="+(dan*i));
        }
        System.out.println();
    }
}
}

public class gugudan{
public static void main(String[] args) {
Play g = new Play();
g.gugu(2,5,9);
}
}
profile
괴발개발

0개의 댓글