본문 바로가기

Java

Java (이중 반복문)

이전 글에서는 각 종 반복문의 개념을 익히고 사용 예시를 익혔으니, 좀 더 심화적인 이중 반복문에 대해서 알아보겠다.

 

1. 별 사각형

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

 

위의 이중 반복문은 별 (*) 사각형을 만드는 것으로, 출력값은 아래와 같다.

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

 

바깥족 반복문의 값이 한 번 실행 될 때, 안 쪽 반복문이 그 실행된 값에 대한 작업을 여러번 반복하게 되며, 정리를 하면은:

 

바깥쪽 for 반복문: i 변수를 0부터 4까지 증가시키며 반복하고. 이 반복문은 세로 방향의 행을 나타낸다. 

 

안쪽 for 반복문: j 변수를 0부터 4까지 증가시키며 반복합니다. 이 반복문은 가로 방향의 열을 나타낸다.

 

2. 별 왼쪽 삼각형

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

 

별 (*) 왼쪽 삼각형을 만드는 코드로 출력값은 아래와 같다.

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

 

for 반복문 내에서 유동적인 변수는 i이므로 i를 이용하여 유동적인 코드를 구현가능 하다

 

바깥쪽 for 반복문: i 변수를 0부터 4까지 증가시키며 반복하며 이 반복문은 세로 방향의 행을 나타낸다. 

 

안쪽 for 반복문: j 변수를 0부터 i까지 증가시키며 반복하며 j의 범위가 i까지이므로 각 행마다 i + 1 번 별표(*)를 출력한다.

 

3. 별 오른쪽 삼각형 만들기

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

 

별 오른쪽 삼각형을 만드는 이중 반복문으로 반환 값은 아래와 같다.

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

 

바깥쪽 for 반복문: i 변수를 0부터 4까지 증가시키며 반복, 이 반복문은 세로 방향의 행을 나타낸다. 

 

첫 번째 안쪽 for 반복문: j 변수를 0부터 4 - i까지 증가시키며 반복한다. 이 반복문은 공백 문자("S")를 출력하고 j의 범위가 4 - i까지이므로, 각 행마다 i 개수만큼의 공백 문자를 출력한다. 

 

두 번째 안쪽 for 반복문: k 변수를 0부터 i까지 증가시키며 반복한다. 이 반복문은 별표(*)를 출력하고 k의 범위가 i까지이므로, 각 행마다 i + 1 번 별표(*)를 출력한다.

 

4. 구구단

// 구구단
for (int i = 2; i <= 9 ; i++) {
    for (int j = 1; j <= 9; j++) {
        System.out.println(i + "*" + j + "=" + i*j);
    }
    System.out.println();
}

 

 

내가 개인적으로 헷갈렸던 부분은 증감식 부분이다. 안쪽 반복문 내에서 증감식이 어떤 역할을 하는지 궁금하였는데, 생각해보니 너무 단순한 문제였다. 증감식은 조건문을 끝내기 위해 존재하는 것이며 바깥쪽 반복문이 한 번 실행하면 안쪽 반복문은 조건문이 거짓이 될 때까지 다 돌리는 것이다.      

'Java' 카테고리의 다른 글

Java (메서드)  (2) 2024.01.02
Java (배열)  (1) 2023.12.31
Java (각 반복문 종류와 응용)  (0) 2023.12.31
Java (문자열 메서드 및 이스케이프 문자)  (0) 2023.12.30
Java (연산자 정리)  (1) 2023.12.30