본문 바로가기
  • 문과생의 백엔드 개발자 성장기
|Backend.DevLog/JAVA

10. Java 반복문 - 중첩 반복문, break, continue

by 케리's 2022. 6. 29.

중첩 반복문이란?

  • 반복문 내부에 또 다른 반복문이 있음
  • 여러 겹으로 반복문을 겹쳐서 구현 가능 (단 수행시간에 문제가 발생할 수 있음)
  • 외부 반복문과 내부 반복문 간의 변수 값 변화에 유의 하며 구현하여야 함

 

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

 

package ch20;

public class NestedLoopTest {

	public static void main(String[] args) {
		int dan = 2;
		int count = 1;
		
		for( ; dan <= 9; dan++) {
			
			for(count = 1; count <=9; count++) {
				
				System.out.println( dan + "X" + count + "=" + dan * count);
			}
			System.out.println(); // 개행 
		}
		
		dan = 2;
		while( dan <= 9 ) {
			count = 1;
			while (count <= 9) {
				
				System.out.println( dan + "X" + count + "=" + dan * count);
				count++;
				
			}
			dan++;
			System.out.println(); //개행 
		}

	}

}

 

 

break문 사용하기

  • 감싸고 있는 제어문의 블록을 빠져 나오는 기능 (switch문 에서도 사용)
  • 반복문에서는 주로 조건문(if)와 같이 사용하여 조건에 해당되는 경우 반복 수행을 멈추고 반복문 외부로 수행이 이동
  • 여러 반복문이 중첩되어 있는 경우엔 break 문이 포함되어 있는 반복문만 빠져 나옴

break문 예제

  • 1부터 숫자를 더하여 100이 넘는 순간의 그 숫자와 합을 출력하세요
 
package ch20;

public class BreakTest {

	public static void main(String[] args) {
		
		int sum = 0;
		int num;
		// for (num = 1; sum < = 100; num ++) {
		for( num = 1; ; num++) {
			
			sum += num;
			if( sum >= 100)	
				break;
		}
		
		System.out.println(sum);
		System.out.println(num);
		// 14까지 더하면 100보다 큰 순간이 된다 

	}

}

 

 

continue문 사용하기

  • 반복문 내부에서 조건문(if)와 같이 사용하며, 조건이 맞는 경우(true 이면) 이후 반복문 블럭 내부의 다른 수행문들을 수행하지 않음

continue문 예제

  • 1부터 100까지 숫자 중 3의 배수를 출력하세요
package ch21;

public class ContinueTest {

	public static void main(String[] args) {
		int num;
		for( num = 1; num <= 100; num++) {
			
			if( (num % 3) != 0) continue; 
			
			System.out.println(num);
			
		}
	}
}

 

댓글