개발 지식/Java

[Java] 중첩 반복문

devGSP 2022. 7. 19. 08:00
반응형
이 게시물은 아래 버전을 기준으로 작성되었습니다.

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번 자료를 검사합니다.

 

더보기
package com.devgsp.study.basic;

public class MyDupLoop {
	public static void main(String[] args) {
		for (int i = 1; i <= 3; i++) {
			for (int j = 1; j <= 100; j++) {
				if (j == 25) {
					System.out.println("[" + i + "phase]");
					System.out.println(j + "번 자료를 검사합니다.");
				}
			}
		}
	}
}

 

MyDupLoop.java 실행 결과

 

반응형

'개발 지식 > Java' 카테고리의 다른 글

[Java] 메서드(1) - 메서드의 정의  (0) 2022.08.01
[Java] break / continue  (0) 2022.07.20
[Java] For 반복문  (0) 2022.07.18
[Java] While / Do-While 반복문  (0) 2022.07.17
[Java] Switch 분기문  (0) 2022.07.16