1. `break`문
반복문이나 `switch`문을 즉시 종료한다
- 반복문에서의 `break`
for (int i = 1; i <= 10; i++) {
if (i==5) {
break; // 반복문 종료
}
System.out.println("i: " + i);
}
/**
/* i: 1
/* i: 2
/* i: 3
/* i: 4
- `switch`문에서의 `break`
int day = 2;
switch (day) {
case 1:
System.out.println("월요일");
break;
case 2:
System.out.println("화요일");
break;
case 3:
System.out.println("수요일");
break;
default:
System.out.println("주말");
}
// 화요일
- 레이블과 함께 `break`
- 레이블을 사용하여 중첩된 반복문에서 특정 반복문을 종료할수 있다
outer: for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 3; j++) {
if (i == 2 && j == 2) {
break outer; // 바깥 반복문 종료
}
System.out.println("i: " + i + ", j: " + j);
}
}
/**
/* i: 1, j: 1
/* i: 1, j: 2
/* i: 1, j: 3
/* i: 2, j: 1
2. `continue`문
반복문을 종료하지 않고, 현재 반복을 건너뛰고 다음 반복을 실행한다
- 반복문에서의 `continue`
for (int i = 1; i <= 5; i++) {
if (i == 3) {
continue; // 3일 때 현재 반복 건너뜀
}
System.out.println("i: " + i);
}
/**
/* i: 1
/* i: 2
/* i: 4
/* i: 5
- 레이블과 함께 `continue`
outer: for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 3; j++) {
if (i == 2 && j == 2) {
continue outer; // 바깥 반복문의 다음 반복으로 이동
}
System.out.println("i: " + i + ", j: " + j);
}
}
/**
/* i: 1, j: 1
/* i: 1, j: 2
/* i: 1, j: 3
/* i: 2, j: 1
/* i: 3, j: 1
/* i: 3, j: 2
/* i: 3, j: 3
i == 2 && j == 2일 때 continue outer를 만나 바깥 루프의 다음 반복으로 넘어간다
3. `return`문
메서드의 실행을 종료하고 호출한 곳으로 제어를 반환한다
값을 반환할수도 있고 않을수도 있다
return; // 반환 x
return 값; // 값 반환
값 반환시 메서드의 타입에 맞는 값을 반환해야한다
분기문 | 역할 | 용도 |
`break` | 반목문이나 `switch`문을 즉시 종료 | 조건을 만족하면 반복문이나 `switch`문을 빠져나올때 |
`continue` | 현재 반복은 건너뛰고 다음 반복으로 이동 | 특정 조건을 만족할때 반복 실행을 건너뛸때 |
`return` | 메서드 실행을 종료하고 호출한곳으로 제어를 반환 | 메서드 결과를 반환하거나 실행을 조기에 종료할때 |
출처 : ChatGPT
'BE > Java' 카테고리의 다른 글
[Java] 컬렉션 (0) | 2024.12.04 |
---|---|
[Java] 래퍼 클래스 (0) | 2024.12.03 |
[Java] 연산자 (0) | 2024.12.01 |
[Java] 반복문 (0) | 2024.12.01 |
[Java] 조건문 (0) | 2024.12.01 |