본문 바로가기

Java

4-2장 제어 키워드

 

1. break 키워드 

 

 - 반복문에서 특정 조건을 만족할 때 반복문을 탈출하는 데 사용

 - 반복문 안에 break만 단독으로 사용된 예

for(int i=0;i<10;i++) {
	System.out.println(i);
    break;  //반복문 탈출 실행
}  //if문을 제외하고 가장 가까운 중괄호 탈출

  -> for 문의 반복횟수와 상관없이 단 하나의 출력만 실행

 

 - 반복문 안에 if문과 함께 break가 사용된 예

for(int i=0; i<10; i++) {
	if(i==5) {
    	break;
    }
    System.out.println(i); //i = 0,1,2,3,4일때 출력
}

 - break를 통해 탈출하는 것은 if문을 제외한 가장 가까운 중괄호 하나

 - 이중 for문 내에서 break를 통한 반복문의 탈출

for(int i=0; i<10; i++) { //바깥쪽 for문
	for(int j=0; j<10; j++) { //안쪽 for문
    	if(j==3) 
        	break;
        System.out.println(i+","+j);
        //(i,j)=((0,0),(0,1),(0,2),(1,0),(1,1),...,(9,2))
    }
}

 

 - 변숫값을 조정해 이중 for문 한번에 탈출하기 

for(int i=0; i<10; i++) { //2) i값이 조건식을 만족하지 않아 바깥쪽 for문 종료 
	for(int j=0; j<10; j++) {
    	if(j==3) {
        	i=100; //1) break를 실행하기 전 i값 변경
            break;
         }
         System.out.println(i+","+j);  //(i,j)=((0,0),(0,1),(0,2))
    } //3) 안쪽의 for문 중괄호 탈출
}

- break +Label(레이블)

  - break로 다중 반복문을 한 번에 탈출하는 자바의 공식적인 방법

  - break 다음에 레이블을 지정하면 한 번에 여러 개의 다중 반복문을 탈출 

  - 레이블 다음에는 반드시 콜론(:)표시

 

- 레이블을 이용해 이중 for문 한번에 탈출하기 

out: //레이블 위치 지정(break하고자 하는 반복문 앞에 레이블 표기)
for(int i=0; i<10; i++) {
	for(int j=0; i<10; j++) {
    	if(j==3)
        	break out; //out레이블이 달린 반복문 탈출
        System.out.println(i+","+j);
    }
} //break out으로 탈출하는 중괄호

 

2. continue 제어 키워드 

 

 - 반복 제어문의 닫힌 중괄호(}) 역할을 하는 제어 키워드

 - 반복문 실행 도중 continue를 만나면 실행해야 할 코드가 남아 있더라도 마치 닫힌 중괄호를 만난 것처럼 다음 반복을 위해 증감식을 수행하거나 조건식을 검색

 - 반복 과정에서 특정 구문을 실행하지 않고 건너뛰고자 할 때 사용

 

 -반복문 안에 if문과 continue가 사용된 예

for(int i=0; i<10; i++) {
	if(i==5) { //if문으로 continue를 실행할 조건 설정
    	continue;
    }
    System.out.println(i); //0,1,2,3,4,6,7,8,9
} //continue가 대체하는 중괄호

 

 - 이중 for문 내에서 continue를 통한 실행 명령 건너뛰기

for(int i=0; i<5; i++) {
	for(int j=0; j<5; j++) {
    	if(j==3) {
        	continue;
        }
        System.out.println(i+","+j);
    }
}

  -> 바깥쪽 for문의 i값은 0,1,2,3,4로 총 5회 반복하고, 안쪽 for문은 j==3일때를 제외해 j값이 0,1,2,4로 총 4회 출력문 실행

  -> 총 20회 실행

 

 - continue Label을 이용해 이중 for문 내에서 여러 개의 반복문을 한 번에 건너뛰기

POS1: //레이블 위치 지정(continue하고자 하는 반복문 앞에 레이블 표기)
for(int i=0; i<5;i++) {
	for(int j=0; i<5; i++) {
    	if(j==3) {
        	continue POS1; //POS1 레이블이 달린 반복문의 닫힌 중괄호 대체
        }
        System.out.println(i+","+j);
    }
} //continue POS1로 대체하는 중괄호

  -> continue가 대체하는 중괄호는 레이블이 가리키고 있는 바깥쪽 for문의 닫힌 중괄호이므로 i++의 증감식으로 바로 이동

  -> 바깥쪽 for문은 i값이 0,1,2,3,4로 총 5회 반복하고 , 안쪽 for문은 j값이 0,1,2로 총 3회 반복

   -> 총 15회 실행

'Java' 카테고리의 다른 글

5-1장 배열 (2)  (0) 2023.04.22
5-1장 배열(1)  (0) 2023.04.22
4-1장 제어문 (2) 반복문  (0) 2023.04.21
4-1장 제어문 (1) 조건문  (0) 2023.04.21
3-2장 연산자의 연산 방법  (0) 2023.04.19