본문 바로가기
Java/Java 기초문법

[JAVA 기초] 제어문 - 반복문 (break, continue)

by dev수니 2021. 3. 3.
반응형

 1  break문

break문은 반복을 멈추게 한다. 반복문이 진핸되다가 break문을 만나면 곧 바로 반복분을 벗어나 반복문 다음의 코드를 수행한다. 특정 조건을 만족할 때 break문을 사용해 반목을 멈추게 한다.

 

 

 2  continue

continue문은 현재의 반복을 뛰어넘고 반복을 진행시킨다. 반목문이 진행되다가 continue문을 만나면 반복문의 제일 끝이로 가서 다음 반복을 계속 수행한다.

 


Ex 예제.

 

1. 다음은 break문을 사용해 반복을 멈추는 프로그램이다.

Q)

정수 n을 입력

입력받은 정수 n을 알려줌.

현재까지의 총합을 알려줌.

0을 입력하면 프로그램 종료(break문 사용)

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package java_practice;
 
import java.util.Scanner;
 
public class Break {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner sc = new Scanner(System.in);
        int sum = 0;
        
        while(true) {
            System.out.println("더할 정수를 입력하세요.\n종료를 원하면 0을 입력해주세요");
            int input = sc.nextInt();
            System.out.println("입력한 정수는 : " + input);
            if(input == 0)
                break;
            sum += input;
            System.out.println("현재까지 총 합은 : "+ sum + "\n");
        }
        System.out.println("프로그램 종료");
    }
}
cs

 

 

 
 
 

 

 

 
 

2. 다음은 conrinue문과 break문을 사용한 프로그램이다.

Q)

현재 가진 돈을 10000으로 정해줌.

현재 가진 돈이 얼마이고 사용할 금액은 얼마인지 입력받음.

남은 금액을 출력해줌.

입력받은 금액이 음수이거나 현재 가진 돈보다 클때 다시 입력받음. (if, else if, continue)

0원이 됐을 때 프로그램 종료. (if, break)

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
ckage java_practice;
 
import java.util.Scanner;
 
public class Continue {
 
    public static void main(String[] args) {
        
        Scanner sc = new Scanner(System.in);
        int money = 10000;
        
        while(true) {
            System.out.printf("현재 가진 돈은 %d원 입니다.\n얼마를 사용하시겠습니까?\n" , money);
            int input = sc.nextInt();
            if( money < input ) {
                System.out.println("입력한 금액이 잔액보다 큽니다. 다시 입력해주세요.");
                continue;
            } else if( input <= 0) {
                System.out.println("잘못 입력하셨습니다. 다시 입력해주세요.");
                continue;
            }
            money -= input;
            System.out.printf("남은 금액은 %d원 입니다.\n" , money);
            if(money == 0)
                break;
        }
        System.out.println("프로그램 종료.");
        sc.close();
    }
}
cs

 

 

 

 

 

 

 

 

3. 피보나치 수열 (Fibonacci Sequence)

Q) 1 1 2 3 5 8 13 21 34 55 ...  출력하기.

 

 

피보나치 수열은 첫항과 둘째 항을 더한 값이 셋째 항으로 , 둘째 항과 셋째 항을 더한 값이 넷째항으로 이루어진 구조로 다음과 같다.

이를 더욱 풀어서 나열하자면

이를 코드로 쉽게 작성하기 위해 변수 a,b,c에 대입을 하자.

따라서 코드를 작성한 모습이다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package java_practice;
 
public class Fibonacci {
 
    public static void main(String[] args) {
        int a = 0, b = 1, c;
        System.out.print(b + " ");
        while (true) {
            c = a + b;
            System.out.print(c + " ");
            a = b;
            b = c;
            if(c > 100)
                break;
        }
    }
}
cs

결과 : 1 1 2 3 5 8 13 21 34 55 89 144

 

break문 없이 ctrl + f11할 경우 숫자가 무한이기 때문에 console창에 출력되지 않는다.

따라서 if문을 이용해 마지막 값이 100을 넘어갈 경우 while문을 빠져나오도록 설정해 주었다.

반응형

댓글