Java : 11.0.15.1 OS : Windows 10 Pro IDE : Eclipse IDE for Enterprise Java and Web Developers - 2022-06
For 반복문
For 반복문
설명
조건이 true일 때 동작하는 반복문 중 하나. 내부에서 선언한 변수를 증감할 수 있다. 대게 정해진 횟수가 있는 경우나 추후 학습할 배열 또는 컬렉션 등을 다룰 때 많이 사용한다.
문법
for ([변수 선언 및 초기화]; [반복문이 실행되는 조건]; [변수의 증감식]) { [실행문]; }
* 프로세스: 변수 선언 및 초기화 → 조건 검사 → 실행문 동작 → 증감식 동작 * 변수 선언 및 초기화, 증감식 설정은 여러 개가 가능하다. 이는 해당 부분에서 쉼표로 구분한다. * for 반복문에서 선언한 변수는 for 반복문 안에서만 사용할 수 있다.
아래 예시 코드를 보자.
package com.devgsp.study.basic;
public class ForLoop {
public static void main(String[] args) {
// For 반복문 예시 코드 1
for (int i = 0; i < 5; i++) {
// for 반복문에 사용할 임시 변수는 보통 idx, index, i, j, k, (...) 등으로 사용한다.
System.out.println("i : " + i);
}
//System.out.println("result i : " + i); // 에러!!
// for문에서 선언한 변수는 for문 안에서만 사용할 수 있다.
System.out.println("==========================");
// For 반복문 예시 코드 2
int globalIdx;
for (globalIdx = 0; globalIdx < 5; globalIdx++) {
// 외부에 있는 변수를 사용하는 것도 가능하다.
// 증감된 변수가 반복문 실행 후에도 남아 있어야 한다면
// 해당 수치가 계속 남아 있어야 할 경우 외부 변수를 사용해도 된다.
// 물론 임시 변수도 사용하고, 외부 변수도 따로 실행문 안에서 증감을 시켜도 무방하다.
// 프로그래밍에 오답은 없다!
System.out.println("globalIdx : " + globalIdx);
}
System.out.println("result globalIdx : " + globalIdx);
System.out.println("==========================");
// For 반복문 예시 코드 3
// 변수를 2개 선언하기(코드 작성 시 세미콜론(;)과 콤마(,)을 잘 구분하자!)
for (int i = 0, j = 100; i < 5 && j < 105; i++, j++) {
System.out.println("i : " + i + " // j : " + j);
}
System.out.println("==========================");
// For 반복문 예시 코드 4
// 분기문 설정하기
for (int i = 1; i < 5; i++) {
if (i % 2 == 0) {
System.out.println(i + " ▷ 짝수!");
} else {
System.out.println(i + " ▷ 홀수!");
}
}
System.out.println("==========================");
}
}
ForLoop.java 실행 결과
[예제]
1. com.devgsp.study.basic 패키지에 MyForLoop클래스를 생성하자. 2. 아래와 같이 구구단을 출력하는 코드를 작성해 보자. 1 x 1 = 1 1 x 2 = 2 1 x 3 = 3 (...) 9 x 9 = 81
package com.devgsp.study.basic;
public class MyForLoop {
public static void main(String[] args) {
// 구구단 출력 예제
for (int i = 1, j = 1; i < 10 && j < 10; j++) {
System.out.println(i + " x " + j + " = " + (i * j));
if (j == 9) {
i++;
j = 0;
}
}
// 답안은 사람마다 여러 가지가 나올 수 있으니, 자신의 답안과 다르다고 혼란스러워하지 말자!
// 참고로 이 예시 답안 코드보다 간단히 작성할 수 있는 방법이 있다.
// 그것은 다음 포스트인 중첩 반복문에서 살펴보도록 하겠다.
}
}