Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
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 31
Tags
more
Archives
Today
Total
관리 메뉴

나의 IT일지

break문과 continue문 본문

프로그래밍 언어/Java

break문과 continue문

세레프 2023. 3. 25. 01:56

 제어문프로그램의 흐름을 변경하는 문법으로, 조건이 참일 경우 블록에 있는 실행문을 실행하는 조건문, 조건이 참일 동안 볼록에 있는 실행문을 반복 실행하는 반복문이 있다.

 이러한 제어문도 실행을 종료해야 하며, 실행을 스킵해야 하는 경우가 있다. 이런경우에 사용하는 break문과 continue문을 사용한다.

 

break문

 break문은 제어문의 실행블록을 탈출 할 때 사용하는 문법으로, 주로 switch문과 반복문의 무한반복 될 경우에 사용된다.

package pack0324;

import java.util.Scanner;

public class Code2 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		float Bnum,Anum;
		String ch;
		
		System.out.print("숫자 입력:");
		Bnum = sc.nextFloat();
		System.out.print("연산자 입력:");
		ch = sc.next();
		System.out.print("숫자 입력:");
		Anum = sc.nextFloat();
		
		while(true) {
			if(ch.equals("+")) {
				Anum += Bnum;
				System.out.printf("연산 결과 : %.3f\n",Anum);
				
			}
			
			else if(ch.equals("-")) {
				Anum -= Bnum;
				System.out.printf("연산 결과 : %.3f\n",Anum);
			}
			
			else if(ch.equals("*")) {
				Anum *= Bnum;
				System.out.printf("연산 결과 : %.3f\n",Anum);
			}
			
			else if(ch.equals("/")) {
				Anum /= Bnum;
				System.out.printf("연산 결과 : %.3f\n",Anum);
			}
			
			System.out.print("연산자 입력:");
			ch = sc.next();
			
			if(ch.equals("=")) {
				System.out.printf("연산 결과 : %.3f\n",Anum);
				break;
			}	

			System.out.print("숫자 입력:");
			Bnum = sc.nextFloat();
		}
	System.out.print("계산기 종료");
    }
}

 

 위의 코드는 계산기를 코드로 만든 것으로, "+", "-", "*", "/"를 ch변수에 저장되면, 반복문을 진행하지만, "="가 ch변수에 저장되면 break에 의해 while문을 종료하게 된다.

 

 만약, 여러개의 반복문이 중첩된 경우, break문은 가장 가까운 반복문 하나만 빠져나간다.

while (...)
{

    for (...)
    {
     ...
        if(조건식) {
            break;
            }
    }
}
while (...)
{

    for (...)
    {
     ...
    }
    if(조건식) {
        break;
        }
}
for문만 탈출하고 while문은 실행된다. while문에서 탈출한다.

  만약 중첩문 안에 있는 중첩문의 실행 블록에서 반복문 전체를 빠져나가려고 하는 경우, 반복문에 이름을 붙이고, "break 이름"을 사용하면 된다. 

package pack0324;

public class Code1 {

	public static void main(String[] args) {
		int i=0;
		Infinite: while (i <= 10) {
			while(true) {
				System.out.println(++i);
			
				if(i==10) {
					break Infinite;
				}
			}
		}
	System.out.println("프로그램 종료");
	}
}

 

 

continue문

 continue문반복문의 명령을 중지하고 반복문의 블록 끝으로 이동하는 문법으로, while문은 조건식으로, for문은 증감식으로 이동한다.

package pack0324;

import java.util.Scanner;

public class Code3 {
	public static void main(String[] args) {
		int money = 10000;
		int i;
		System.out.println("현재 가진 돈 :"+money);
		Scanner sc = new Scanner(System.in);
		
		while(true) {
			System.out.println("사용할 금액:");
			i= sc.nextInt();
			if(!(0<=i &&i<=money)) {
				System.out.println("다시 입력하세요");
				continue;
			}
			money -= i;
			System.out.printf("남은돈 : %d",money);
			if(money == 0) {
				break;
			}
		}
		System.out.println("모든돈을 사용했습니다.");
	}
}

 

 

'프로그래밍 언어 > Java' 카테고리의 다른 글

다차원 배열  (0) 2023.03.30
배열  (0) 2023.03.28
반복문(while문)  (0) 2023.03.24
반복문(for문)  (0) 2023.03.23
조건문(switch문)  (0) 2023.03.22
Comments