반응형

향상된 for문 사용하기 

 

Java 코딩할 때 가장 많이 사용하는 for문과 if문, 오늘은 for문에 대해 알아보자. 

 

 

일반적인 for문

for(초기값 ; 조건식 ; 증감식) {
	조건식이 참일 경우 반복 수행;
}

위와 같은 문법이다.

조건식이 참일 경우에 중괄호 안의 문장들을 반복하고 거짓인 경우 반복문을 벗어나는 것이다.

처음에 초기값을 실행하며, 조건식이 참일 경우 괄호 안에 문장을 반복 실행하는 것이다. 

 

일반적인 for문의 예시는 아래와 같다. 

 

초기값 : 반복문에 사용될 변수를 초기화하는 부분, 처음에 1번 실행 

// 초기값
for(int i=1 ; i<10 ; i++) {}    // int 타입 변수 i 값을 1로 선언 및 초기화
for(int i=1, j=1; i<10 ; i++) {}    // int 타입 변수 i,j 값을 1로 선언 및 초기화

 

조건식 : 조건식이 참일 경우 동안 중괄호 실행, 거짓인 경우 for 문 벗어남 

// 조건식
for(int i=1 ; i<10 ; i++) {}    // i<10인 동안 중괄호 안의 문장을 반복 수행

 

증감식 : 반복문을 제어하는 변수의 값을 증가 또는 감소 

// 증감식
for(int i=1 ; i<10 ; i++) {}    // i가 1씩 증가
for(int i=1 ; i<10 ; i--) {}    // i가 1씩 감소
for(int i=1 ; i<10 ; i+=2) {}   // i가 2씩 증가

 


위 내용이 일반적인 for문이라면 향상(개선)된 for문은 어떤 게 다를까?

 

향상(개선)된 for문 

for(타입 변수명 : 배열 또는 컬렉션) {
	// 배열 또는 컬렉션에 저장된 값이 매 반복마다 하나씩 순서대로 읽어서 변수에 저장
}

 

조건

1. JDK 1.5 이상 사용 가능하다.

2. 사용하는 변수는 지역변수로 인식된다. (for문 안에서만 사용되기 때문에 당연한 전제)

3. 대상은 배열 또는 여러가지 원소들을 포함한 자료형이어야 한다. 

 

장점

1. 사용이 간편하고 가독성이 좋다. 

2. 배열의 인덱션 문제를 해결할 수 있다. (ArrayIndexOutOfBoundsException 예외)

 

단점

1. 배열의 인덱션 문제는 해결이 가능하지만, 인덱스를 사용하지 못한다. 

2. 배열이나 ArrayList 값을 사용할 수 있으나 수정은 불가능하다. 

 

String[] arr = {'1', '2', '3', '4', '5'};

for(String s : arr) {
	System.out.println(s);	
}

결과 

1

2

3

4

5

 

 

배열이나 ArrayList 원소들을 출력할 때 사용하며, 일반적인 for문과 속도는 다르지 않다. 

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 라이프코리아트위터 공유하기
  • shared
  • 카카오스토리 공유하기