본문 바로가기
개발/JAVA

자바 - 반복문 중첩(이중)for문 (3)

by chansungs 2020. 6. 14.
728x90
반응형

안녕하세요~ 자바를 공부하시는 분들이라면, for문에 대해서는 이미 알고 있을 것입니다. 

이중 for문은, for문 안에 또 다른 for문을 넣어 반복을 수행하는 구문입니다. 이를 통해 복잡한 반복문 패턴을 간단하게 처리할 수 있습니다. 이번 블로그에서는 이중 for문을 사용하는 방법과 예시를 살펴보겠습니다. 이제, 함께 자바의 이중 for문을 배워봅시다!

 

중첩된 형태의 반복문

// 중첩된 형태의 반복문
// - 제어문은 내부에 다른 제어문을 포함할 수 있습니다.
// - 반복문은 분기문 뿐만아니라 반복문을 내부에 포함시킬 수 있습니다.
// - 외부의 반복문이 1회전 할 때, 내부의 반복문은 전체를 실행하는 구조입니다.
public class Control_Statement_For_09 {
	public static void main(String[] args) {
		// 외부의 반복문 - 기준변수 i
		// - 외부의 반복문은 내부의 반복문이 완전히 종료되어야만 1번이 수행됩니다.
		for( int i = 1 ; i <= 3 ; i++ ) {
			
			// 내부의 반복문 - 기준변수 j
			// - 내부의 반복문은 외부의 반복문이 1번 실행될 때, 전체가 실행됩니다.
			for( int j = 1 ; j <= 3 ; j++ ) {
				
				System.out.printf("i = %d, j = %d\n", i, j);
				
			}
			
		}
	}
}

중첩된 반복문을 사용하는 예제

// 중첩된 반복문을 사용하는 예제
// - 구구단
// 2 * 1 = 2
// 2 * 2 = 4
// ...
// 2 * 9 = 18
// 3 * 1 = 3
// 3 * 2 = 6
// ... 
// 3 * 9 = 27 ...
public class Control_Statement_For_10 {
	public static void main(String[] args) {
		
		for( int i = 2 ; i < 10 ; i++ ) {
			for( int j = 1 ; j < 10 ; j++ ) {
				System.out.printf("%d * %d = %d\n", i, j, i*j);
			}
		}
	}
}

다음과 같은 형태로 구구단을 출력하세요.

// 다음과 같은 형태로 구구단을 출력하세요.
/*
2단을 출력합니다.
2 * 1 = 2
2 * 2 = 4
...
2 * 9 = 18

3단을 출력합니다.
3 * 1 = 3
3 * 2 = 6
...
3 * 9 = 27

...
*/

// 홀수에 해당되는 단만 출력하도록 코드를 수정하세요.

// 다음과 같은 형태로 구구단을 출력하세요.
/*
2단을 출력합니다.
2 * 2 = 4
2 * 4 = 8
...
2 * 8 = 16

3단을 출력합니다.
3 * 1 = 3
3 * 3 = 9
...
3 * 9 = 27

4단을 출력합니다.
4 * 2 = 8
4 * 4 = 16
...
4 * 8 = 32

...
*/
public class Control_Statement_For_10_EX {
	public static void main(String[] args) {
		
		for( int i = 2 ; i < 10 ; i++ ) {
			// if( i % 2 == 0 ) 
			//	continue;
				
			System.out.printf("%d단을 출력합니다.\n", i);
			
			for( int j = 1 ; j < 10 ; j++ ) {
				
				/*
				// 짝수단은 짝수만 곱셈
				boolean flag_1 = i % 2 == 0 && j % 2 == 0;
				// 홀수단은 홀수만 곱셈
				boolean flag_2 = i % 2 == 1 && j % 2 == 1;
				
				if( flag_1 || flag_2 )
				*/
				
				if( i % 2 == j % 2 )
					System.out.printf("%d * %d = %d\n", i, j, i*j);
				
			}
			
			System.out.println();
			
			
		}
		
		
	}
}

아래와 같은 형태로 출력될 수 있게 코드를 작성하세요 별그리기

(중첩된 반복문을 사용)

// 아래와 같은 형태로 출력될 수 있게 코드를 작성하세요
// (중첩된 반복문을 사용)
/*

case 1
*
**
***
****
*****

case 2
*****
****
***
**
*

case 3
    *
   **
  ***
 ****
*****

*/
public class Control_Statement_For_11_EX {
	public static void main(String[] args) {

		// 디버깅
		// - 코드의 실행 과정을 IDE을 통해서 실시간으로 확인할 수 있는 방법
		// - 에러를 수정하기 위해서 참고하는 방법
		// - Break Point(중지점 / 특정 실행문을 지정함)
		for( int i = 1 ; i <= 5 ; i++ ) {
			for( int j = 1 ; j <= i ; j++ ) {
				System.out.print("*");
			}
			System.out.println();
		}
		
		System.out.println();
		
		for( int i = 5 ; i >= 1 ; i-- ) {
			for( int j = 1 ; j <= i ; j++ ) {
				System.out.print("*");
			}
			System.out.println();
		}
		
		System.out.println();
		
		for( int i = 1 ; i <= 5 ; i++ ) {
			for( int j = 1 ; j <= 5 ; j++ ) {
				if( j > (5-i) )
					System.out.print("*");
				else
					System.out.print(" ");
			}
			System.out.println();
		}
		
		System.out.println();
	}
}
728x90
반응형

'개발 > JAVA' 카테고리의 다른 글

자바 반복문 do ~ while문  (0) 2020.06.14
자바 - 반복문 while문  (0) 2020.06.14
자바 - 반복문 for 문, continue  (0) 2020.06.14
자바 - 반복문 for 문 (1)  (0) 2020.06.14
자바 - 제어문 switch문  (0) 2020.06.14