IT/Java
[Java] for문
Huitopia
2024. 2. 22. 17:28
728x90
for
for문은 조건식이 참인 동안 주어진 횟수만큼 실행문을 반복적으로 수행한다. for문은 실행문을 여러 번 반복 실행해주기 때문에 코드를 간결하게 만들어준다.
for문의 구조와 흐름
for( 초기화식; 조건식; 증감식 ) { 실행문 };
- for문이 처음 실행될때 초기화식이 제일 먼저 실행된다.
- 조건식 평가 후 true면 실행문을 실행하고 false면 for문을 종료한다.
- 조건식이 true면 실행문을 모두 실행 후
- 증감식이 실행된다.
- 그리고 다시 2번을 실행 후 true면 3 ➡️ 4 ➡️ 2 순서로 진행하다 false이면 for문이 종료된다.
for( int i = 0, j = 1; i <= 10 && j <= 20; i++, j--) { 실행문 }
초기화식은 조건식과 실행문, 증감식에서 사용할 변수를 초기화하는 역할이다. 경우에 따라 초기화식이나 증감식이 둘 이상 있을 수 있다.
int i;
for (i = 0; i <= 10; i++) {...}
System.out.println(i)
초기화식에서 선언된 변수는 for문 블록 안에서만 사용 가능한 로컬 변수다. for문 밖에서 사용하고 싶다면 초기화식이 아닌 for문 이전에서 선언해야 한다.
1부터 100까지의 합을 구하는 예제 코드
public static void main(String[] args) {
int sum = 0;
int i;
for (i = 1; i <= 100; i++) {
sum += i;
}
System.out.println("1~" + (i - 1) + " 합 : " + sum);
}
- i = 카운터 변수
- sum = 합계 변수
for문 작성 시 초기화식에서 부동 소수점을 쓰는 float 타입은 사용하지 말아야 한다.
예제 코드
public static void main(String[] args) {
for (float i = 0.1f; i <= 1.0f; i += 0.1f) {
System.out.println("i = " + i);
}
}
출력 결과
부동 소수점 방식의 float 타입은 연산 과정에서 정확히 0.1을 표현하지 못하기에 증감식에서 i에 더해지는 실제 값은 0.1보다 약간 클 수 있다.
중첩 for문
바깐 for문이 한 번 실행할 때마다 중첩된 for문은 지정 횟수만큼 반복하고 다시 바깥 for문으로 돌아간다.
구구단 예제 코드
public static void main(String[] args) {
for (int i = 2; i <= 9; i++) {
// i가 2에서 9까지 변하면서 8번 반복 실행
System.out.println(i + "단");
for (int j = 1; j <= 9; j++) {
// 바깥 for문이 실행될 때 안의 for문 j는 1~9까지 변하면서 9번 반복 실행
System.out.println(i + " X " + j + " = " + (i * j));
}
}
}
출력 결과
728x90