반복문은 어떤 작업이 반복적으로 수행되도록 할 때 사용된다.

for문과 while문은 구조와 기능이 유사하여 어느 경우에나 서로 변환이 가능하다.

 

for문

for문은 반복 횟수를 알고 있을 때 적합하다.

구조가 객관적이라 이해하기 쉽다.

for(int i=1i<=5;i++) {
	System.out.println("I can do it.");
}

변수에 i를 저장한 다음, 매 반복마다 i값을 i 증가시키고, 반복할 때마다 "I can do it"을 출력한다.

 

for문의 구조와 수행 순서

for문은 초기화, 조건식, 증감식, 블록{}으로 이루어져 있으며, 조건식이 참인 동안 블록{ } 내의 문장들을 반복한다.

for (초기화;조건식;증감식) {
	// 조건식이 참일 때 수행될 문장들을 적는다.
)
1. 초기화 수행
2. 조건식 참거짓 판별
3. 수행될 문장
4. 증감식
5. 다시 2로

 

초기화

반복문에 사용될 변수를 초기화하는 부분이며 처음에 한 번만 수행된다.

 

조건식

조건식의 값이 (boolean) 참(true)이면 반복을 계속하고, false이면 반복을 중단한다.

조건식을 잘못 만들면 한 번도 수행되지 않거나, 영원히 반복된다.

 

증감식

반복문을 제어하는 변수의 값을 증가 또는 감소시키는 식이다.

 

public class FlowEx14 {
	public static void main(String[] args) {
		for (int i = 1; i <= 10; i++) { // 반복횟수 가급적 for문에서는 시작의 변수는 하나만
			System.out.printf("%d \t%n", i);
		}
	}
}
1 	
2 	
3 	
4 	
5 	
6 	
7 	
8 	
9 	
10

 

중첩 for문

if안에 또 다른 if문을 넣을 수 있는 것처럼, for문 안에 또 다른 for문을 포함시키는 것도 가능하다.

public class FlowEx16 {
	public static void main(String[] args) {
		for(int i=1; i<=5;i++) {
			for(int j=1;j<=10;j++) {
				System.out.print("*");// 2 10
			}
			System.out.println();
		}
	}

}
**********
**********
**********
**********
**********
(j=1,i=1) 2,1 3,1 4,1 5,1
1,2 2,2 3,2 4,2 5,2
1,3 2,3 3,3 4,3 5,3
1,4 2,4 3,4 4,4 5,4
1,5 2,5 3,5 4,5 5,5

for( i증가식 ) {

for( j증가식) {

"*"}

}

연산순서

1. i 증가
2. j 증가
3. * 출력
4. j 증가 * 4
5. 다시 1번부터 4회 추가로 반복

 

향상된 for문(enhanced for statement)

JDK1.5부터 배열과 컬렉션에 저장된 요소에 접근할 때 기존보다 편리한 방법으로 처리할 수 있도록 for문의 새로운 문법이 추가되었다.

향상된 for문을 사용하려면 객체가 필요하다.

for ( 타입 변수명 : 배열 또는 컬렉션) {
	// 반복할 문장
}

 

int[] arr = {10,20,30,40,50);

for(int i=0; i < arr.length; i++) {
	System.out.println(arr[i]);
}

이 문장을 배열을 선언했을 때

int[] arr = {10,20,30,40,50);

for(int tmp : arr) {
	System.out.println(tmp);
}

이런 식으로 표현이 가능해진다.

그러나 향상된 for문은 일반적인 for문과 달리 배열이나 컬렉션에 저장된 요소들을 읽어오는 용도로만 사용할 수 있다.

 

'JAVA 04강 조건문과 반복문 > 반복문 for, while' 카테고리의 다른 글

반복문while  (0) 2021.07.15
반복문 do-while  (0) 2021.07.15

+ Recent posts