해당 if문만 종료시킨다
가장 가까운 반복문을 탈출한다
중첩 반복문에서 내부 반복문에 break를 사용한 경우, 내부 반복문만 탈출한다
(외부 반복문도 탈출하려면 label을 사용해야 함)
public class ControllerTest {
public static void main(String[] args) {
boolean flag = true;
int sum = 0;
if (flag) {
for (int i = 1; i <= 10; i++) {
if (i == 5) break;
sum += i;
System.out.println("for " + i);
}
System.out.println("break 탈출");
}
System.out.println("sum " + sum);
}
}
/* 출력 결과
// if (i == 5) break; 조건 5를 만나서 for문 탈출 후 출력
for 1
for 2
for 3
for 4
break 탈출
sum 10
*/
-진행 중인 루프를 중단하고, 다음 루프로 돌아가서 다시 루프가 시작됩니다.
public class ControllerTest {
public static void main(String[] args) {
boolean flag = true;
int sum = 0;
if (flag) {
for (int i = 1; i <= 10; i++) {
if (i == 5) continue;
sum += i;
System.out.println("for " + i);
}
System.out.println("break 탈출");
}
System.out.println("sum " + sum);
}
}
/* 출력 결과
// if (i == 5) continue; 조건에 5를 제외하고 계산 후 출력
for 1
for 2
for 3
for 4
for 6
for 7
for 8
for 9
for 10
break 탈출
sum 50
*/
해당 메소드가 호출된 곳까지 종료시킨다
if문을 포함한 메소드 자체를 종료시킨다.
해당 메서드를 탈출한다.
public class ControllerTest {
public static void main(String[] args) {
boolean flag = true;
int sum = 0;
if (flag) {
for (int i = 1; i <= 10; i++) {
if (i == 5) return;
sum += i;
System.out.println("for " + i);
}
System.out.println("break 탈출");
}
System.out.println("sum " + sum);
}
}
/* 출력 결과
// if (i == 5) return; 조건 5를 만나서 해당 메서드 탈출. 따라서, 결과 값은 출력 안됨
for 1
for 2
for 3
for 4
*/
참고: [java] if문에서 break와 return의 차이
참고: [Java] - 자바 제어문(조건문/반복문)에서 continue, break, return 사용시 차이점