Java/기본 프로그래밍

[JAVA] 반복문 ( 중첩반복문, continue 문, break 문 )

KR_Jimi 2024. 1. 26. 22:44

중첩반복문


  • 중첩반복문에서 break 문이 실행될 경우, 하나의 반복문만 벗어난다.

예시


2중 중첩 for 문을 사용하여 구구단을 출력하는 프로그램을 작성하라.



public class NestedLoop {
    public static void main(String[] args) {
        for(int i=1; i<10; i++) {
            for(int j= 1; j<10; j++) {
                System.out.print(i+"*"+"="+ i*j);
                System.out.print('\t');
            }
            System.out.println();
        }
    }
}

실행결과
1*=1    1*=2    1*=3    1*=4    1*=5    1*=6    1*=7    1*=8    1*=9    
2*=2    2*=4    2*=6    2*=8    2*=10    2*=12    2*=14    2*=16    2*=18    
3*=3    3*=6    3*=9    3*=12    3*=15    3*=18    3*=21    3*=24    3*=27    
4*=4    4*=8    4*=12    4*=16    4*=20    4*=24    4*=28    4*=32    4*=36    
5*=5    5*=10    5*=15    5*=20    5*=25    5*=30    5*=35    5*=40    5*=45    
6*=6    6*=12    6*=18    6*=24    6*=30    6*=36    6*=42    6*=48    6*=54    
7*=7    7*=14    7*=21    7*=28    7*=35    7*=42    7*=49    7*=56    7*=63    
8*=8    8*=16    8*=24    8*=32    8*=40    8*=48    8*=56    8*=64    8*=72    
9*=9    9*=18    9*=27    9*=36    9*=45    9*=54    9*=63    9*=72    9*=81    

continue 문


  • continue 문이 실행되면 for 문은 반복 후 작업 단계로 넘어간다.
  • continue 문이 실행되면 do-while 문과 while 문은 조건식으로 넘어간다.

예시


5개의 정수를 입력받고 그 중 양수들만 합하여 출력하는 프로그램을 작성하라.
(입력된 수가 0이나 음수이면 continue 문을 이용하여 합하지 않고 다음 반복으로 넘어간다.)


import java.util.Scanner;

public class ContinueExample {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        int sum = 0;
        int input; 
        int i;
        for(i= 1; i<=5; i++) {
            input = scanner.nextInt();
            if(input <=0)
                continue;
            else
                sum +=input;
        }
        System.out.print("합:"+sum);
        scanner.close();
    }
}

실행결과
3
-5
19
-9
33
합:55

break 문


  • break 문이 실행되면 현재 반복문을 벗어난다.

예시


"exit"이 입력되면 while 문을 벗어나도록 break 문을 활용하는 프로그램을 작성하라.


import java.util.Scanner;
public class BreakExample {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.println("exit를 입력하면 종료합니다.");
        while(true) {
            System.out.print(">>");
            String text = scanner.nextLine();
            if(text.equals("exit"))
                break;
        }
        System.out.println("종료합니다...");
        scanner.close();
    }
}

실행결과
exit를 입력하면 종료합니다.
>>edit
>>check
>>exit
종료합니다...

특정한 문자열이 입력될 때까지 계속 반복하도록 하기 위해서 먼저 while 문 조건식에 true를 해서 무한반복하도록 한다. Scanner 클래스를 이용해서 값을 입력받고 if문을 활용하여 "exit"를 입력받으면 break 문을 통하여 while 문을 빠져나오도록 한다.


while 문을 무한반복하도록 한 뒤, if 문을 활용해서 반복을 탈출하도록 코딩하는 것이 꿀팁이다.!! 문자열 비교 시 equals()를 사용한다. 문자열이 같으면 equals()는 true를 리턴한다.