반복작업을 중간에 중단시키고 싶다면 어떻게 해야 할까? break를 사용하면 된다.
// 예제 1)
for ( int i = 0; i < 10; i++ ) {
if ( i == 5 ) {
**break**;
}
System.out.println("Raye" + i);
}
출력값
Raye0
Raye1
Raye2
Raye3
Raye4
if(i == 5) 에 의해서 i의 값이 5일 때 break 문이 실행되면서 반복문이 완전히 종료된 것이다. 반복문 안에서 break가 실행되면 반복문을 즉시 종료시킨다.
<aside> 💡 if문 {break;} 안에서 break가 실행되면 if{} 조건문이 종료되어 System.을 실행하는 것이 아니다. 예제 1)에서 if문은 for문. 즉, 조건문이 반복문 안에 포함돼 있기 때문에 break가 반복문을 즉시 종료한 것.
</aside>
참고로 조건문에 의해서 실행되는 코드가 한 줄일 경우 다음 예제와 같이 중괄호를 생략 할 수 있다. 반복문도 반복적으로 실행할 코드가 한 줄일 경우 중괄호를 생략할 수 있다.
// 예제 2)
for ( int i = 0; i < 10; i++ ) {
if ( i == 5 )
break; // 조건문 코드 한줄 if '{}' 생략함
System.out.println("Raye" + i);
}
출력값
Raye0
Raye1
Raye2
Raye3
Raye4
그럼 실행을 즉시 중단하면서 반복은 지속해가게 하려면 어떻게 해야 할까?
이전 예제의 break를 continue로 변경했을 뿐이지만 결과는 전혀 다르다.
// 예제 3)
for ( int i = 0; i < 10; i++) {
if ( i == 5 ){
**continue**;
}
System.out.pritnln("Raye" + i);
}
출력값
Raye0
Raye1
Raye2
Raye3
Raye4
Raye6
Raye7
Raye8
Raye9
Raye 5가 보이지 않는다. 왜 그럴까? i의 값이 5가 되었을 때 실행이 중단됐기 때문이다. continue 구문은 이 명령이 나타나는 이후의 로직을 실행하지 않도록 한다. 하지만 반복문 자체를 중단하는 것이 아니고 다시 반복문이 실행된다.