JAVA/JAVA

Java | 반복문_중첩 For문

pathas 2020. 1. 17. 16:37

중첩 For문

for문 안에 또 다른 for문을 작성하는 경우

이중 for문이라고도 함


사용례

public class ForTest2 {
    public static void main(String[] args) {
        for (int a = 0; a < 3; a++) {
            // Outer For
            for (int b = 0; b < 2; b++) {
                System.out.println("a: " + a + ", b: " + b);
            }
            // Inner For
            System.out.println("======");
        }
             /*
             a: 0, b: 0
             a: 0, b: 1
             ==========
             a: 1, b: 0
             a: 1, b: 1
             ==========
             a: 2, b: 0
             a: 2, b: 1
             ==========
             */
    }
}

※ 바깥쪽 For문이 각각의 루프를 실행할 때마다 안쪽 For문은 전체 루프를 실행함


사용례_별 찍기

이중 for문 연습
규칙성, 특징을 발견하는 것이 중요함

public class Star {
    public static void main(String[] args) {
        for (int i = 1; i <= 5; i++) {
            for (int j = 1; j <= 5; j++) {
                System.out.print("*");
            }
            System.out.println();
        }
        /*    

        *****
        *****
        *****
        *****
        *****

        */

    for (int i = 1; i <= 5; i++) {
        for (int j = 1; j <= i; j++) {
            System.out.print("*");
        }
        System.out.println();
        }
        /*         

        *
        **
        ***
        ****
        *****

        */

    for (int i = 1; i <= 5; i++) {
        for (int j = 5; j >= i; j--){
            // or (int j = 1; j <= 6 - i; j++) 
            System.out.print("*");
        }
        System.out.println();
        }

        /*        

        *****
        ****
        ***
        **
        *

        */
    }
}

사용례_별 찍기2 | if-else문 활용

public class Star {
    public static void main(String[] args) {

        // 5x5정사각형의 좌우변만 출력
        for (int i = 1; i <= 5; i++) {
            for (int j = 1; j <= 5; j++) {
                if (j > 1 && j < 5) {
                    System.out.print("  ");
                } else {
                    System.out.print("*");
                }
            }
            System.out.println();
        }
            /*

            *      *
            *      *
            *      *
            *      *
            *      *

            */
    }
}

for문 활용이라고도 할 수 있는 중첩 for문에 대해 알아보았습니다.

반복되어야 하는 것이 2개 있다면 2중 for문을 사용하면 되겠습니다.

코드를 작성하기 전에 문제의 규칙과 특징을 먼저 파악하고,
변수와 상수에 대해 알아내면 보다 수월하게 문제를 해결할 수 있을 것입니다.