본문 바로가기
Java/Java

[Java]향상된 for문

by 전재경 2022. 11. 11.

향상된 for문 ?

 

 향상된 for문이란 JDK 1.5부터 배열의 모든 요소를 참조하기 위해 새롭게 추가된 반복문

 배열의 길이만큼 반복하는 작업을 수행하기 때문에 배열이나 여러 원소를 포함한 자료형에서만 사용할 수 있다는 특징이 있다.

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

 

장점

1.간편한,가독성 좋은 코드
2. 배열 인덱스 문제 해결 (ArrayIndexOutOfBoundsException 예외를 피할 수 있다.)

 

단점

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

 

사용 이유

배열처럼 여러 원소로 이루어진 집합의 모든 원소에 대해 특정 작업을 반복하기 위해 사용

 

자주 사용되는 상황

1.ArrayList 원소 출력
2.배열 원소 출력

 

 

코드

for(타입 변수이름 : 배열) {
  배열의 길이만큼 반복적으로 실행하고자 하는 명령문;
}

 

예제 1.

    int intArray[] = {1, 2, 3, 4, 5}; 
		
    // for(데이터타입 변수명 : 배열명)
    for(int number : intArray) {
	  // 배열의 길이만큼 number를 반복하기 때문에 배열의 모든 요소가 출력된다.

예제 2.

이차원 배열 추출

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);
	}
}

 

알고리즘

  결과적으로 배열의 길이만큼 for반복하게 되는데, 배열의 0번째 인덱스 위치의 값부터 꺼내어서 변수에 저장후 반복적으로 실행하고자 하는 명령문을 수행하는 원리이다.

그렇게 0번 인덱스 부터 순차적으로 변수에 저장하고 실행하여 명령문을 다 수행하게 되면 for문을 완전히 빠져 나가게 된다.

'Java > Java' 카테고리의 다른 글

[Java]StringTokenizer 문자열 분리하기  (0) 2022.11.11
[Java]열거 타입  (0) 2022.11.11
[Java]배열(Array) 선언 및 초기화,복사  (0) 2022.11.11
[Java]메모리 구조  (0) 2022.11.11
[Java]기본타입과 참조타입  (0) 2022.11.11

댓글