[자바] break문과 continue문 label 기능

Gammi·2022년 9월 4일
0

JAVA

목록 보기
3/35
post-thumbnail

📕 break문


  • 반복문 내 조건식에 따라 반복문을 종료

  • 주로 if문과 조합하여 반복문을 빠져나갈 조건을 설정


< 기본 문법 >

for(초기식; 조건식; 증감식) {
	if(조건) {
    	break; // 현재 소속된 반복문 블럭 종료
    }
}    


초기식;
while(조건식) {
	증감식;
    if(조건) {
    	break; // 현재 소속된 반복문 블럭 종료
    }
}

⭐ 입력

for(i = i; i <= 10; i++) {
	System.out.println(i);
	System.out.println("i가 5이므로 for문을 종료");
    break;
}

System.out.println("for문 종료 후 i값 = " + i);

📌 출력

1
2
3
4
5
i가 5이므로 for문을 종료
for문 종료 후 i값 = 5





📕 continue문


  • 반복문 내 조건식에 따라 반복문 다음 문장 실행 생략 후 다음 반복 진행

< 기본 문법 >

for(초기식; 조건식; 증감식) {
	if(조건) {
    	continue; // 현재 반복문 continue문 아래쪽 실행 생략
        	      // 다음 반복 실행 위해 증감식으로 이동
    }
    문장X // continue문에 의해 실행 생략
}


초기식;
while(조건식) {
	증감식;
    if(조건) {
    	continue; // 현재 반복문 continue문 아래쪽 실행 생략
        		  // 다음 반복 실행 위해 조건식으로 이동
        }
        문장X // continue문에 의해 실행 생략
}

👉 입력
for(int i = i; i <= 10; i++) {
	if(i == 5) {
    System.out.println(i가 5이므로 출력문 실행 생략!");
    continue;
    }
    System.out.println(i);
}
System.out.println("for문 종료 후 i값 = " + i);

📌 출력

1
2
3
4
i가 5이므로 출력문 실행 생략
6
7
8
9
10
for문 종료 후 i값 = 11

⭐ 입력

int i =1;
while(i <= 10) {
	i++;
    if(i == 5){
    System.out.println("i가 5이므로 출력문 실행 생략!");
    continue;
    }
    System.out.println(i);
}
System.out.println("while문 종료 후 i값 = " + i);

📌 출력

6
7
8
9
10
11
while문 종료 후 i값 = 11





📗 label 기능


  • 반복문 앞에 위치해 break 또는 continue 동작 지점을 지정

  • break문 또는 continue문 뒤에 해당 레이블의 이름을 지정할 경우
    레이블 위치다음 반복문에 break문 또는 continue문이 적용됨

  • 주로 중첩 반복문에서 반복문을 한번에 빠져나가기 위해 사용

  • 반복문 앞 또는 위에 주로 대문자로 된 문자를 작성하고 콜론 붙임


< 기본 문법 >
레이블명:
바깥쪽 반복문() {
			 안쪽 반복문() {
             		if(조건식) {
                    	break 레이블명; 또는 continue 레이블명;
                    }
             }
}

⭐ 입력 (break 사용)

EXIT_FOR: //레이블명
for(int dan = 1; i <= 9; i++) {
	System.out.println(" < " + dan + "단 > ");
    	for(int i = 1; i <= 9; i++) {
        	if(dan ==5) {
            	break EXIT_FOR;
            } // if문 종료
            System.out.printf("%d * %d = %d\n", dan, i, dan*i);
        } // 안쪽 for문 종료
] // 바깥쪽 for문 종료

📌 출력

 < 1단 >
1 * 1 = 1
1 * 2 = 2
1 * 3 = 3
	.
    .
    .
1 * 9 = 9

 < 2단 > 
	.
    .
    .
 < 5단 > // 5단 제목까지만 출력

⭐ 입력 (continue 사용)

EXIT_FOR: //레이블명
for(int dan = 1; i <= 9; i++) {
	System.out.println(" < " + dan + "단 > ");
    	for(int i = 1; i <= 9; i++) {
        	if(dan ==5) {
            	continue EXIT_FOR;
            } // if문 종료
            System.out.printf("%d * %d = %d\n", dan, i, dan*i);
        } // 안쪽 for문 종료
] // 바깥쪽 for문 종료

📌 출력

 < 1단 >
1 * 1 = 1
1 * 2 = 2
1 * 3 = 3
	.
    .
    .
1 * 9 = 9

 < 2단 > 
	.
    .
    .
 < 5단 > // 5단만 출력 중지
 < 6단 >
6 * 1 = 1
	.
    .
    .
9 * 9 = 81
profile
개발자가 되었어요⭐️

0개의 댓글