1. 이중 for문 이란?
이중 for문은 for문 안에 또 다른 for문이 들어간 구조
하나의 반복마다 또 다른 반복을 수행할 때 사용됨.
바깥 for문이 한 번 반복할 때마다, 안쪽 for문은 전체 반복을 수행.
for (int i=0; i<열; i++) {
for (int j=0; j<행; j++) {
\\ 반복할 코드
}
}
바깥 for문 : 기준 1 (보통 '행')
안쪽 for문 : 기준 2 (보통 '열')
2. 기본 예제
대표 예제1 : 직각 삼각형 별 찍기
for (int i=1; i<=5; i++) {
for (int j=1; j<=i; j++) {
System.out.print("*");
}
System.out.println(); // 줄 바꿈
}

코드 설명 :
- 바깥쪽 for문은 1부터 5까지 반복 => 5를 출력
- 안쪽 for문은 매번 i번 반복 => 첫 번째 줄은 1개, 두 번째 줄은 2개
- System.out.print("*") 는 별 한 줄 출력, System.out.println(); 은 줄 바꿈
대표 예제2 : 구구단
for (int i=2; i<=9; i++) {
System.out.println("[" + i + "단]");
for (int j=1; j<=9; j++) {
System.out.println(i + "x" + j + "=" + (i*j));
}
}

코드 설명 :
- i는 현재 단을 나타내는 변수, 2부터 9까지 증가 => 바깥쪽 for문
- j는 곱해지는 수를 의미, 1부터 9까지 증가 => 안쪽 for문
- 각 반복에서 i * j를 계산해서 결과 출력
- 단이 끝날 때마다 System.out.println(); 으로 한 줄 띄어줌
3. 자주 하는 실수 Top3
1. 조건 잘못 써서 무한 루프 발생
for (int i=1; i<=5; i--) {
for (int j=1; j<=5; j++) {
System.out.print("*");
}
System.out.println();
}
코드 설명 :
- 바깥쪽 for문에서 i--로 증감식을 잘못 설정 => 계속 감소 => 조건 탈출 불가
2. print와 println의 사용을 혼돈
for (int i=1; i<=5; i++) {
for (int j=1; j<=i; j++) {
System.out.print("*");
}
System.out.print();
}
코드 설명 :
- 바깥쪽 for문에서 System.out.print(); 을 사용 => 별들이 한 줄로 출력
우왕 너무 머싯서용 언니~!💗💗