[Java] 중첩 for문

toget ㅣ 2023. 10. 3. 10:30

Java에서 중첩 for문은 한 for문 내에 다른 for문이 포함되어 있는 구조를 의미합니다. 중첩 for문은 행렬, 2차원 배열 등 2차원 데이터 구조를 처리하거나, 특정 패턴을 출력하는 데 자주 사용됩니다.

중첩 for문의 구조

for(초기화1; 조건식1; 증감식1) {
    for(초기화2; 조건식2; 증감식2) {
        // 내부 반복 실행할 코드
    }
    // 외부 반복 실행할 코드
}

 

예제1

for(int i = 2; i <= 9; i++) {
    System.out.println(i + "단");
    for(int j = 1; j <= 9; j++) {
        System.out.println(i + " * " + j + " = " + (i * j));
    }
    System.out.println();  // 각 단마다 줄바꿈
}

 

예제2

2차원 배열의 원소 접근

int[][] matrix = {
    {1, 2, 3},
    {4, 5, 6},
    {7, 8, 9}
};

for(int i = 0; i < matrix.length; i++) {
    for(int j = 0; j < matrix[i].length; j++) {
        System.out.print(matrix[i][j] + " ");
    }
    System.out.println();
}

결과
1 2 3 
4 5 6 
7 8 9

 

예제3

별(*)로 피라미드 패턴 만들기

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

결과
    *
   ***
  *****
 *******
*********