본문 바로가기
Back-End/Java

[Java] 기타보조제어문(continue, break)

by 찐코딩 2021. 8. 11.

기타(보조제어문)

break 명령어

 - 현재의 제어문을 빠져나가는 명령어.
 - 보통 switch~case문과 반복문에서 사용됨.
 - if문 블럭을 제외한 첫번째 블럭에서 빠져나오는 명령어.

 

break 예제01)

1부터 10까지의 값 출력해보기

public static void main(String[] args) {
		// 반복문에서 break 명령어 예제
		for(int i=1; i<=100; i++) {
			if(i>10) {  //i가 11되었을 때
				break;
			}
			System.out.println("i>>>"+i);
		}
	}

반복하다가 i값이 11이 되는 순간 break 구문을 만나 for문을 탈출하게 된다

 

break의 탈출 범위는?!

break 문의 탈출 범위는 while, for, switch, do while 이다. 아래 코드를 보자

 

for (int b = 0; b < 200; b++) { 
	for (int i = 0; i < 10; i++) { 
    	if (i == 5) { 
      	  System.out.println("break 실행"); 
          break; 
          } 
        System.out.println("i = " + i);
        } 
     System.out.println("b = " + b); 
  }

 

이 코드를 실행해보자. 착각했던 것이 i 가 5일때 if 안의 break 문으로 인해 if 만 탈출하는걸로 착각하였다

아니다.

break 문이 있으면 무조건 if 밖의 while, for, switch, do while 을 기준으로 가장 가까운 반복문의 탈출을 시도한다.

그러나 탈출의 한계는 반복문 1단계 뿐이다.

위 코드와 같이 이중 for 문일경우 가장 바깥쪽의 for문에는 영향을 받지 않는다.


https://neoty.tistory.com/entry/break-%EB%AC%B8%EC%9D%98-%ED%83%88%EC%B6%9C-%EB%B2%94%EC%9C%84-outerLoop-%EC%9D%98-%EC%82%AC%EC%9A%A9%EB%B2%95

 

break 문의 탈출 범위 - outerLoop 의 사용법

break 문의 탈출 범위는 while, for, switch, do while 이다. 아래 코드를 보자 for (int b = 0; b < 200; b++) { for (int i = 0; i < 10; i++) { if (i == 5) { System.out.println("break 실행"); break; } Sys..

neoty.tistory.com

 

 

가장 가까운 반복문을 탈출하고

for (int i = 0; i < 10; i++) {

다시 제일 바깥쪽의 반복문을 실행한다.

for (int b = 0; b < 200; b++) {

 

예문02 펼쳐보기▼

더보기

break문 예제02) 

1부터 100까지의 합을 구하는데 합이 200이 되는 순간까지만 합을 구하여 화면에 출력해보세요.

// 1부터 100까지의 합을 구하는데 합이 200이 되는 순간까지만 합을 구하여 화면에 출력해보세요.

	public static void main(String[] args) {
		int sum=0, su; //변수 선언
		for(su=1; su<=100; su++) {
			sum=sum+su;
			if(sum>=200) { //sum값이 200이 되는 순간 탈출
				break;
			}    //if문의 end
		}       //for문의 end
        
        //화면에 출력
		System.out.println("su>>> " + su);    // 합이 200이 되는 순간의 수의 값
		System.out.println("sum>>>" + sum);    //합이 200
	}

 

 

 2. continue 명령어

 - 반복문에서만 사용하는 명령어
 - 반복문을 탈출하는 것이 아니라, 다음 증감식으로 가는 명령어.

 

continue 예제01)

- 1부터 10까지의 정수 중 짝수만 출력하기

- 1부터 100까지의 정수 중 짝수 끼리의 합 구하기

public static void main(String[] args) {
//1부터 10까지의 정수 중 짝수만 출력하기
	for(int i=1; i<=10; i++) {
		if(i%2==1) {    
			continue;    //조건식이 참이면 continue문이 수행되면 블럭의 끝으로 이동
		}
        
		System.out.println("i>>> " + i); // 짝수인 경우에는 값을 출력
        
	} // 조건식이 참이면 continue문을 수행하고 이쪽으로 옴. 다시 반복문 시행
            
			System.out.println();  //빈 줄 삽입
			
 //1부터 100까지의 정수 중 짝수만 합한 값 구하기
	int sum=0;
	for(int i=1; i<=100; i++) {
		if(i%2==1) { 
			continue;  //조건식이 참이면 continue문이 수행되면 블럭의 끝으로 이동
		}
        
		sum=sum+i;  //짝수끼리만 더하기
        
	// 조건식이 참이면 continue문을 수행하고 이쪽으로 옴. 다시 반복문 시행
    
	System.out.println("sum>>> " + sum);
}

 

 

'Back-End > Java' 카테고리의 다른 글

[Java] 단축 for문(개선된 for문, for each문)  (0) 2021.08.11
[Java] 배열(array)  (0) 2021.08.11
[Java] 조건문 for문  (0) 2021.08.08
[Java] 반복문 while, do while  (0) 2021.08.08
[Java] 조건문 switch~case문  (0) 2021.08.08

댓글