Java에서 반복문 실행 중 특정 조건을 만족했을때 아래와 같이 break 명령어를 사용하여 현재 위치의 반복문을 빠져나올 수 있습니다.
for(int i=0; i<3; i++){
System.out.println("i="+i);
if(i==1){
break; // end of Loop(i)
}
}
▼▼▼
i=0
i=1
만약 중첩 반복문(이중 for문)일 경우에 break를 사용할 경우에는 현재 위치한 가장 안쪽의(j) 반복문에서 빠져나오고 다시 제일 바깥쪽의 반복문(i)을 실행하게 됩니다.
for(int i=0; i<3; i++){
for(int j=0; j<3; j++) {
System.out.println("i=" + i + " j=" + j);
if (j == 1) {
break; // end of Loop(j)
}
}
}
▼▼▼
i=0 j=0
i=0 j=1
i=1 j=0
i=1 j=1
i=2 j=0
i=2 j=1
원하는 조건이 i와 관계없이 j==1 만 만족이라 위와 같이 불필요한 반복(i=1,i=2) 없이 바로 전체 반복문에서 빠져 나오고 싶을 때가 있습니다. 이때는 각 반복문마다 라벨을 지정해 주고 해당 라벨명을 break 명령에 기재하여 원하는 반복문 단계를 바로 빠져 나올 수 있습니다.
Loop1 :
for(int i=0; i<3; i++){
Loop2 :
for(int j=0; j<3; j++){
System.out.println("i="+i + " j="+j);
if (j==1){
break Loop1; // end of Loop1(i)
//break; // end of Loop2(j)
//break Loop2; // end of Loop2(j)
}
}
}
▼▼▼
i=0 j=0
i=0 j=1
위와 같이 첫번째 j==1 조건이 만족한 후 (i==0) 바로 전체 반복문이 종료 되는 것을 확인 하실 수 있습니다. 참고로 하단에 주석처리된 break; break Loop2;를 사용하면 두번째 예제와 동일하게 Loop2(j) 반복문을 빠져 나오게 됩니다.
'Program > Java' 카테고리의 다른 글
[Java] void Method 종료 하기 (0) | 2021.03.08 |
---|---|
[Java] 클래스 정보 가져오기 (Class 이름 출력) (0) | 2020.11.28 |
[Java] 배열(Array) 정렬 하기 ( 오름차순,내림차순 등 ) (2) | 2020.03.12 |
[Java] 배열(Array) 선언 및 초기화 하기 (2) | 2020.03.06 |
[Java] JAR WAR 차이점 및 특징 ( + EAR ) (4) | 2020.02.14 |