본문 바로가기
기초 및 언어/▶ Java&JSP

05. 반복문 for

by 류딩이 2025. 8. 13.

1. for

 

for문의 기본 구조

for(초기식; 조건식; 증감식;){
		 반복할 문장1;
		 반복할 문장2;
}

 

for문 기본 예제

import java.util.Scanner;

public class Ex06_for { // 반복문 for
	/*
	for(초기식; 조건식; 증감식;){
			반복할 문장1;
			반복할 문장2;
	}
	*/

	public static void main(String[] args) {
		
		// Ex01 : for문 기본
		System.out.println("=================Ex01=================");
		int i;
		for(i=10; i>1; i--) { 
			System.out.println("JAVA" + i);
					
		}
		System.out.println("for문 밖 i: " + i);
		
		
		// Ex02 : 1 부터 10까지 더하기
		System.out.println("=================Ex02=================");
		int j;
		int sum = 0;
		for (j=1; j<=10; j++) {
			sum = sum + j;
			System.out.println("sum :" +sum );
		}
		
		// Ex03 : 반복값이 10이 되기전까지 더하기
		System.out.println("=================Ex03=================");
		int k;
		int sum2 = 0;
		for (k=1; k <= 10; k=k+2) {
			sum2 = sum2 + k;
			System.out.println("sum2 :" + sum2 +" k값: "+ k);
			
		// Ex04 : 1~100사이의 수 중에서 5의 배수만 풀력하기
		System.out.println("=================Ex04=================");
		int l;
		for (l=1; l<=100; l++) {
			if (l%5==0) {
				System.out.println("5의 배수 출력 : " + l);
			}
		}
		
		// Ex05 : 1~100사이의 수 중에서 5의 배수이면서 7의 배수 출력하기
		System.out.println("=================Ex05=================");
		int m;
		for (m=1; m<=100; m++) {
			if (m%5==0 && m%7==0) {
				System.out.println("5와 7의 공배수 출력 : " + m);
				
			}
		}
		
		// Ex06 : 1~100사이의 수 중에서 짝수의 합, 홀수의 합 출력하기
		System.out.println("=================Ex06=================");
		int n;
		int even = 0, odd=0;
		for (n=1; n<=100; n++) {
			if(n%2==0) {
				even = even + n ;				
			}else {
				odd = odd + n;			
			}
		}
		System.out.println("짝수의 합 :" + even);	
		System.out.println("홀수의 합 :" + odd);			
		}
		
		// Ex07 : 입력한 숫자의 단 만들기
		System.out.println("=================Ex07=================");
		Scanner input = new Scanner(System.in);
		System.out.print("단 입력 : ");
		int dan = input.nextInt();
		int o, sum5 = 0;
		for (o=1; o<10; o++) {
			sum5 = dan * o;
			System.out.println(dan + "*" + o + "=" + sum5);
		}						
	}
}

 

=================Ex01=================
JAVA10
JAVA9
JAVA8
JAVA7
JAVA6
JAVA5
JAVA4
JAVA3
JAVA2
for문 밖 i: 1
=================Ex02=================
sum :1
sum :3
sum :6
sum :10
sum :15
sum :21
sum :28
sum :36
sum :45
sum :55
=================Ex03=================
sum2 :1 k값: 1
=================Ex04=================
5의 배수 출력 : 5
5의 배수 출력 : 10
5의 배수 출력 : 15
5의 배수 출력 : 20
5의 배수 출력 : 25
5의 배수 출력 : 30
5의 배수 출력 : 35
5의 배수 출력 : 40
5의 배수 출력 : 45
5의 배수 출력 : 50
5의 배수 출력 : 55
5의 배수 출력 : 60
5의 배수 출력 : 65
5의 배수 출력 : 70
5의 배수 출력 : 75
5의 배수 출력 : 80
5의 배수 출력 : 85
5의 배수 출력 : 90
5의 배수 출력 : 95
5의 배수 출력 : 100
=================Ex05=================
5와 7의 공배수 출력 : 35
5와 7의 공배수 출력 : 70
=================Ex06=================
짝수의 합 :2550
홀수의 합 :2500
sum2 :4 k값: 3
=================Ex04=================
5의 배수 출력 : 5
5의 배수 출력 : 10
5의 배수 출력 : 15
5의 배수 출력 : 20
5의 배수 출력 : 25
5의 배수 출력 : 30
5의 배수 출력 : 35
5의 배수 출력 : 40
5의 배수 출력 : 45
5의 배수 출력 : 50
5의 배수 출력 : 55
5의 배수 출력 : 60
5의 배수 출력 : 65
5의 배수 출력 : 70
5의 배수 출력 : 75
5의 배수 출력 : 80
5의 배수 출력 : 85
5의 배수 출력 : 90
5의 배수 출력 : 95
5의 배수 출력 : 100
=================Ex05=================
5와 7의 공배수 출력 : 35
5와 7의 공배수 출력 : 70
=================Ex06=================
짝수의 합 :2550
홀수의 합 :2500
sum2 :9 k값: 5
=================Ex04=================
5의 배수 출력 : 5
5의 배수 출력 : 10
5의 배수 출력 : 15
5의 배수 출력 : 20
5의 배수 출력 : 25
5의 배수 출력 : 30
5의 배수 출력 : 35
5의 배수 출력 : 40
5의 배수 출력 : 45
5의 배수 출력 : 50
5의 배수 출력 : 55
5의 배수 출력 : 60
5의 배수 출력 : 65
5의 배수 출력 : 70
5의 배수 출력 : 75
5의 배수 출력 : 80
5의 배수 출력 : 85
5의 배수 출력 : 90
5의 배수 출력 : 95
5의 배수 출력 : 100
=================Ex05=================
5와 7의 공배수 출력 : 35
5와 7의 공배수 출력 : 70
=================Ex06=================
짝수의 합 :2550
홀수의 합 :2500
sum2 :16 k값: 7
=================Ex04=================
5의 배수 출력 : 5
5의 배수 출력 : 10
5의 배수 출력 : 15
5의 배수 출력 : 20
5의 배수 출력 : 25
5의 배수 출력 : 30
5의 배수 출력 : 35
5의 배수 출력 : 40
5의 배수 출력 : 45
5의 배수 출력 : 50
5의 배수 출력 : 55
5의 배수 출력 : 60
5의 배수 출력 : 65
5의 배수 출력 : 70
5의 배수 출력 : 75
5의 배수 출력 : 80
5의 배수 출력 : 85
5의 배수 출력 : 90
5의 배수 출력 : 95
5의 배수 출력 : 100
=================Ex05=================
5와 7의 공배수 출력 : 35
5와 7의 공배수 출력 : 70
=================Ex06=================
짝수의 합 :2550
홀수의 합 :2500
sum2 :25 k값: 9
=================Ex04=================
5의 배수 출력 : 5
5의 배수 출력 : 10
5의 배수 출력 : 15
5의 배수 출력 : 20
5의 배수 출력 : 25
5의 배수 출력 : 30
5의 배수 출력 : 35
5의 배수 출력 : 40
5의 배수 출력 : 45
5의 배수 출력 : 50
5의 배수 출력 : 55
5의 배수 출력 : 60
5의 배수 출력 : 65
5의 배수 출력 : 70
5의 배수 출력 : 75
5의 배수 출력 : 80
5의 배수 출력 : 85
5의 배수 출력 : 90
5의 배수 출력 : 95
5의 배수 출력 : 100
=================Ex05=================
5와 7의 공배수 출력 : 35
5와 7의 공배수 출력 : 70
=================Ex06=================
짝수의 합 :2550
홀수의 합 :2500
=================Ex07=================
단 입력 : 6
6*1=6
6*2=12
6*3=18
6*4=24
6*5=30
6*6=36
6*7=42
6*8=48
6*9=54

 


2. 이중 for문

이중 for문의 동작 흐름

  1. 바깥 for → 조건 확인 후 첫 실행
  2. 안쪽 for → 조건이 참이면 전부 반복
  3. 안쪽 for문이 종료되면 다시 바깥 for 증감
  4. 바깥 for 조건이 거짓이 될 때까지 반복
for (외부변수) {
    for (내부변수) {
        // 반복 실행
    }
}

정리

  • 이중 for문은 "반복 속의 반복" 구조로, 바깥 루프 1회 → 안쪽 루프 전체 실행
  • 반복 횟수 = 바깥 반복 수 × 안쪽 반복 수
  • 구구단, 표 출력, 2차원 데이터 처리 등 반복 패턴이 있는 경우 유용

 

이중 for문 예시1

public class Ex07_for {

	public static void main(String[] args) {
		
		// Ex01 : 이중 for문 기본
		int i,j;
		
		for (i=1; i<3; i++) {
			for (j=5; j<8; j++) {
				System.out.println(i+","+j);
				
			} // 안쪽 for
			System.out.println("=================");
			
		} // 바깥 for
		System.out.println("*****************");
					
			}	
	}
1,5
1,6
1,7
=================
2,5
2,6
2,7
=================
*****************

 

이중 for문 예시2

public class Ex09_for_문 {
public static void main(String[] args) {
		// Ex01: 별 출력
		for(int i=0; i<5; i++) {
			for(int j=0; j<=i; j++) {
				System.out.print("*");
			}System.out.println();  
		}
      }
   }

 

public class Ex09_for_문 {
public static void main(String[] args) {
		// Ex01: 별 출력
		for(int i=1; i<=6; i++) {
			for(int j=6; j>i; j--) {
				System.out.print("*");
			} System.out.println(" ");
	}
 }
 
 i=0; 5번 j=54321 i=0
 i=1; 5번 j=4321 i=1
 i=2; 5번 j=321 i=2
 i=3; 5번 j=21 i=3
 i=4; 5번 j=1 i=4
 
***** 
**** 
*** 
** 
*

 

public class Ex08_for {

	public static void main(String[] args) {
		
		// Ex01 : 전체 구구단 만들기(세로)
		System.out.println("==========Ex01==========");
		int i, j;
		
//		  바깥 for문: 단(1~9)
		for (i=1; i<=9; i++) {
			System.out.println(i + "단");
			
			  // 안쪽 for문: 곱하는 수(1~9)
			for(j=1; j<=9; j++) {
				System.out.println(i + "*"+ j +"="+ i*j);
			}
			System.out.println("==============="); // 단이 끝날 때마다 출력
		}
		System.out.println("끝"); // 모든 단이 끝나면 출력
		
		
		// Ex02 : 가로 구구단
		System.out.println("==========Ex02==========");
		for (int m = 1; m <= 9; m++) {
            // 단(2~9)이 안쪽 for문
            for (int n = 2; n <= 9; n++) {
                // \t로 간격 맞춤
                System.out.print(n + " * " + m + " = " + (n * m) + "\t");
            }
            // 안쪽 for문이 끝나면 줄바꿈
            System.out.println();
        }
	}
}
==========Ex01==========
1단
1*1=1
1*2=2
1*3=3
1*4=4
1*5=5
1*6=6
1*7=7
1*8=8
1*9=9
===============
2단
2*1=2
2*2=4
2*3=6
2*4=8
2*5=10
2*6=12
2*7=14
2*8=16
2*9=18
===============
3단
3*1=3
3*2=6
3*3=9
3*4=12
3*5=15
3*6=18
3*7=21
3*8=24
3*9=27
===============
4단
4*1=4
4*2=8
4*3=12
4*4=16
4*5=20
4*6=24
4*7=28
4*8=32
4*9=36
===============
5단
5*1=5
5*2=10
5*3=15
5*4=20
5*5=25
5*6=30
5*7=35
5*8=40
5*9=45
===============
6단
6*1=6
6*2=12
6*3=18
6*4=24
6*5=30
6*6=36
6*7=42
6*8=48
6*9=54
===============
7단
7*1=7
7*2=14
7*3=21
7*4=28
7*5=35
7*6=42
7*7=49
7*8=56
7*9=63
===============
8단
8*1=8
8*2=16
8*3=24
8*4=32
8*5=40
8*6=48
8*7=56
8*8=64
8*9=72
===============
9단
9*1=9
9*2=18
9*3=27
9*4=36
9*5=45
9*6=54
9*7=63
9*8=72
9*9=81
===============
끝
==========Ex02==========
2 * 1 = 2	3 * 1 = 3	4 * 1 = 4	5 * 1 = 5	6 * 1 = 6	7 * 1 = 7	8 * 1 = 8	9 * 1 = 9	
2 * 2 = 4	3 * 2 = 6	4 * 2 = 8	5 * 2 = 10	6 * 2 = 12	7 * 2 = 14	8 * 2 = 16	9 * 2 = 18	
2 * 3 = 6	3 * 3 = 9	4 * 3 = 12	5 * 3 = 15	6 * 3 = 18	7 * 3 = 21	8 * 3 = 24	9 * 3 = 27	
2 * 4 = 8	3 * 4 = 12	4 * 4 = 16	5 * 4 = 20	6 * 4 = 24	7 * 4 = 28	8 * 4 = 32	9 * 4 = 36	
2 * 5 = 10	3 * 5 = 15	4 * 5 = 20	5 * 5 = 25	6 * 5 = 30	7 * 5 = 35	8 * 5 = 40	9 * 5 = 45	
2 * 6 = 12	3 * 6 = 18	4 * 6 = 24	5 * 6 = 30	6 * 6 = 36	7 * 6 = 42	8 * 6 = 48	9 * 6 = 54	
2 * 7 = 14	3 * 7 = 21	4 * 7 = 28	5 * 7 = 35	6 * 7 = 42	7 * 7 = 49	8 * 7 = 56	9 * 7 = 63	
2 * 8 = 16	3 * 8 = 24	4 * 8 = 32	5 * 8 = 40	6 * 8 = 48	7 * 8 = 56	8 * 8 = 64	9 * 8 = 72	
2 * 9 = 18	3 * 9 = 27	4 * 9 = 36	5 * 9 = 45	6 * 9 = 54	7 * 9 = 63	8 * 9 = 72	9 * 9 = 81

 

 

 

 

'기초 및 언어 > ▶ Java&JSP' 카테고리의 다른 글

06. 반복문 while / do while 및 continue, break  (2) 2025.08.14
00. Debug과정  (0) 2025.08.13
04. 제어문  (4) 2025.08.13
03. 연산자  (2) 2025.08.12
02. 입력문  (4) 2025.08.12