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