본문 바로가기
Java/[패스트캠퍼스] Java & SpringBoot로 시작하는 웹 프로그래밍

Ch 01. 자바 기초 - 20. 반복문이 여러 번 포개진 중첩 반복문

by hinote 2022. 12. 29.

중첩 반복문이란?

 

  • 반복문 내부에 또 다른 반복문이 있음


  • 여러 겹으로 반복문을 겹쳐서 구현 가능 (단 너무 많이 중첩할 시 수행시간에 문제가 발생할 수 있음)
    -for문 하나에 대한 수행속도를 0(n)라는 식으로 나타내는데 n개의 숫자에 대해서 중첩이 발생한다 하면 0(n^n)이 됨
    -업무에 관해서는 2중 for문을 제일 많이 사용함

 

  • 외부 반복문과 내부 반복문 간의 변수 값 변화에 유의 하며 구현하여야 함
    //외부에 변수값이 있고 내부에 영향을 미친다고 하면 초기화해서 내부로 들어가야 하는 경우가 있음

 

 

 

구구단을 for와 while로 구현해 보자

package ch20;

public class NestedLoopTest {

	public static void main(String[] args) {
		int dan = 2;
		int count = 1;
		
		for( dan = 2; dan <= 9; dan++) {
//        					외부에 값이 지정되어있기 때문에 초기화는 하지 않음 , 
//                 		 바깥 for가 단(안에서 수행이 이루어져야 바깥 for로 넘어감-다음단으로 넘어감)
			
			for(count = 1; count <=9; count++) {//내부 for는 각 단에서 곱해지는 값
				
				System.out.println( dan + "X" + count + "=" + dan * count);
			}
			System.out.println();
		}
		
		dan = 2;//for문에 대한 단 초기화
//      count = 1; 넣어도 빼도 결과값엔 변함이 없음
		while( dan <= 9 ) {//while문은 초기화를 직접 해줘야 함 잊지않기
        
			count = 1; //count를 한번 더 입력하지 않을 시에는 다음 단으로 넘어갈 때 count가 이미 10이기 때문에 9를 넘어서서 다음 단으로 넘어가지 못함
			while (count <= 9) {
				
				System.out.println( dan + "X" + count + "=" + dan * count);
				count++;
				
			}
			dan++;
			System.out.println();
		}
	}
}











댓글