break
반복작업을 중간에 중단시키고 싶다면 어떻게 해야 할까? break를 사용하면 된다. 아래의 예제는 위에서 살펴본 예제를 일부 변형한 것이다.
package org.opentutorials.javatutorials.loop;
public class BreakDemo {
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
if (i == 5)
break;
System.out.println("Coding Everybody " + i);
}
}
}
위 코드의 결과는 아래와 같다. 종료조건에 따르면 10행이 출력돼야 하는데 5행만 출력되었다. 2행의 if(i == 5) 에 의해서 i의 값이 5일 때 break 문이 실행되면서 반복문이 완전히 종료된 것이다. 반복문 안에서 break가 실행되면 반복문을 즉시 종료시킨다. 참고로 조건문에 의해서 실행되는 코드가 한 줄일 경우 예제와 같이 중괄호를 생략 할 수 있다. 반복문도 반복적으로 실행할 코드가 한 줄일 경우 중괄호를 생략할 수 있다.
coding everybody 0
coding everybody 1
coding everybody 2
coding everybody 3
coding everybody 4
continue
그럼 실행을 즉시 중단하면서 반복은 지속해가게 하려면 어떻게 해야 할까? 설명이 어렵다면 예제를 보자. 이전 예제의 break를 continue로 변경했을 뿐이지만 결과는 전혀 다르다.
package org.opentutorials.javatutorials.loop;
public class ContinueDemo {
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
if (i == 5)
continue;
System.out.println("Coding Everybody " + i);
}
}
}
결과는 아래와 같다. 숫자 5가 보이지 않는다. 왜 그럴까? i의 값이 5가 되었을 때 실행이 중단됐기 때문이다. continue 구문은 이 명령이 나타나는 이후의 로직을 실행하지 않도록 한다. 하지만 반복문 자체를 중단하는 것이 아니고 다시 반복문이 실행된다.
Coding Everybody 0
Coding Everybody 1
Coding Everybody 2
Coding Everybody 3
Coding Everybody 4
Coding Everybody 6
Coding Everybody 7
Coding Everybody 8
Coding Everybody 9