Java : 11.0.15.1 OS : Windows 10 Pro IDE : Eclipse IDE for Enterprise Java and Web Developers - 2022-06
중첩 반복문
중첩 반복문?
사실 본 포스트는 '중첩 반복문'이라는 특별한 방법에 대해서 설명하는 포스트가 아니다. 굳이 말하자면 while 반복문과 for 반복문을 작성하는 중괄호 안에 또 하나의 반복문을 작성한 것에 불과하기 때문이다.
While 반복문 포스트(링크)에서 언급했던 것처럼, 일반적으로 변수는 중괄호 안에서 선언하고 초기화한 것을 중괄호 밖에서 사용할 수 없다. 또한 알고 있겠지만 변수의 이름은 메모리 공간 안에서 중복이 될 수 없는 특징이 있는데, 이는 중괄호 범위 안에서 사용할 수 있는 변수의 이름에도 똑같이 적용되는 것이다.
즉, 이것을 마치 정해진 문법인 것처럼 틀에 갇혀 외울 필요는 없다. 이러한 변수의 특성들을 이용하여 반복문을 이중으로 작성한 것뿐이다.
아래 예시 코드를 살펴보자.
package com.devgsp.study.basic;
public class DupLoop {
public static void main(String[] args) {
// 중첩 반복문 예제1 while
int num1 = 0;
while (num1 < 5) {
System.out.println("바깥 while문 - " + num1);
int num2 = 0;
while (num2 < 4) {
System.out.println("안쪽 while문 - " + num2);
num2++;
}
num1++;
}
System.out.println("================================");
// 중첩 반복문 예제2 for
// 구구단 예제2
for (int i = 2; i < 10; i++) {
for (int j = 1; j < 10; j++) {
System.out.println(i + " x " + j + " = " + (i * j));
}
}
}
}
DupLoop.java 실행 결과
[예제]
1. com.devgsp.study.basic 패키지에 MyDupLoop클래스를 생성하자. 2. 반복문 내 선언한 int형 변수를 1부터 100까지 1씩 증감시키는 for 반복문을 작성하고, 변수가 25에 도달했을 때 "25번 자료를 검사합니다." 메시지를 출력하는 코드를 작성해 보자. 단, 해당 반복문을 3회 반복시키고, 메시지가 출력될 때마다 몇 번째 시도인지 알 수 있게 아래와 같이 출력되도록 코드를 작성해 보자.
[1phase] 25번 자료를 검사합니다. [2phase] 25번 자료를 검사합니다. [3phase] 25번 자료를 검사합니다.