반복문은 어떤 작업이 반복적으로 수행되도록 할 때 사용된다.
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 |