dev._.note

[JAVA] 중첩 반복문 본문

Dev/JAVA

[JAVA] 중첩 반복문

Laena 2023. 2. 20. 21:52

중첩반복문

로직순서
for문에 진입하면 ① 먼저 실행 두번째 for문에 진입하면 그 조건식2가 false이 될 때까지 ②번 실행 후 나오면 ③번 실행하고 조건식 확인 true면 다시 반복.

표현식

for(초기값; 조건식; 증감식){
	--- ① ---
	for(초기값2; 조건식2; 증감식2){
		--- ② ---
	}
--- ③ ----
}

❏ 예제

public class ForFor {
	public static void main(String[] args){

		for(int dan = 2; dan < 10; dan++){
			① System.out.println(“== “ + dan + “단 ==“); 
		for(int su = 1; su < 10; su ++){
			② System.out.println(dan + “*” + su + “=” + (dan*su) ); 
			}
		③ System.out.println(); 
		}
	} 
}

실행결과 : == 2단 ==
          2 * 1 = 2
          2 * 2 = 4
          2 * 3 = 6
          2 * 4 = 8
          2 * 5 = 10
          2 * 6 = 12
          2 * 7 = 14
          2 * 8 = 16
          2 * 9 = 18
          .
          .
          .
          .
          .
          .
          .
          .
          == 9단 ==
          9 * 1 = 9
          9 * 2 = 18
          9 * 3 = 27
          9 * 4 = 36
          9 * 5 = 45
          9 * 6 = 54
          9 * 7 = 63
          9 * 8 = 72
          9 * 9 = 81

break

분기문 사용시

break(1);
두 번째 for문에 break을 사용할 경우 두번째 반복문을 나가 ③번 실행
break(2);
첫 번째 for문에 break이 있는 경우 for문을 완전히 빠져나감.

표현식

for(초기값; 조건식; 증감식;){
	--- ① ---
	for(초기값2; 조건식2; 증감식){
     --- ② --- break(1);
	}
--- ③ --- break(2);
}

 


continue

continue 사용시
두 번째 for문에 continue를 만나면 ②번 증감식으로 이동
첫 번째 for문을 실행중, continue를 만나면, ①번 증감식으로 이동.

표현식

for(초기값; 조건식; --- ① --- 증감식;){
	.........continue;
	for(초기값2; 조건식2; --- ② --- 증감식){
	.........continue;
	}
	.........
}

 


라벨이 있는 break문

라벨이 지정된 반복문을 빠져나가 다음 코드를 실행.

표현식

break 지정이름;

❏ 예제

public class BreakLabel{
	public static void main(String[] args){

		outer:
		for(int dan = 2; dan < 10; dan++){
			System.out.println(“== “ + dan + “단 ==“);
			for(int su = 1; su < 10; su ++){
				System.out.println(dan + “*” + su + “=” + (dan*su) ); 
				if((dan*su) == 10){
					break outer;
				}
			}
			System.out.println();
		}
	}
}
실행결과 : == 2단 ==
          2 * 1 = 2 
          2 * 2 = 4 
          2 * 3 = 6 
          2 * 4 = 8 
          2 * 5 = 10

 

 


라벨이 있는 continue문

라벨이 지정된 반복문의 증감식으로 이동, 다음코드를 실행.
continue가 기술된 반복문의 아랫부분은 실행하지 않는다.

표현식

continue 지정이름;

❏ 예제

public class ContinueLabel{
	public static void main(String[] args){
		outer:
		for(int dan = 2; dan < 10; dan++){
			System.out.println(“== “ + dan + “단 ==“);
			for(int su = 1; su < 10; su ++){
				System.out.println(dan + “*” + su + “=” + (dan*su) );
				if(dan == su){ 
					continue outer;
				}
			}
			System.out.println();
		}
}

실행결과 : == 2단 == 
          2 * 1 = 2
          2 * 2 = 4
          == 3단 == 
          3 * 1 = 3 
          3 * 2 = 6 
          3 * 3 = 9
          == 4단 == 
          4 * 1 = 4
          4 * 2 = 8 
          4 * 3 = 12 
          4 * 4 = 16
              .
              .
              .
              .
              .
              .
          == 9단 == 
          9 * 1 = 9
          9 * 2 = 18
              .
              .
              .
          9 * 8 = 72
          9 * 9 = 81

 

 

'Dev > JAVA' 카테고리의 다른 글

[JAVA] 객체지향의 3대 요소 & 5대 원칙  (0) 2023.02.22
[JAVA] 객체지향(Object oriented)  (1) 2023.02.21
[JAVA] 배열(Array)  (0) 2023.02.19
[JAVA] 제어문  (0) 2023.02.18
[JAVA] 연산자(Operator)  (0) 2023.02.17