Ch4-20~24. break문
0. 목차
Chapter4. 조건문과 반복문
Ch4 - 20. break문
Ch4 - 21. continue문
Ch4 - 22. break문과 continue문 예제
Ch4 - 23. 이름 붙은 반복문
Ch4 - 24. 이름 붙은 반복문 예제
Ch4 - 20. break문
▶ break문이란?
▷ 자신이 포함된 하나의 반복문을 벗어남
▶ for문과 while문 - break문
▷ while문 break문
while (true) { // 무한반복 = ture(생략불가)
if (sum > 100)
break;
sum = 101;
}
System.out.println("무한반복 BREAK!");
// console
무한반복 BREAK!
▷ for문 break문
for (;;) { // 무한반복 = true(생략가능, ;;로 표기가능)
if (sum > 100)
break;
sum = 101;
}
System.out.println("무한반복 BREAK!");
// console
무한반복 BREAK!
Ch4 - 21. continue문
▶ continue문이란?
▷ 자신이 포함된 반복문의 끝으로 이동
▷ 다음 반복으로 넘어감
▷ 전체 반복 중에서 특정 조건 시 반복을 건너 뛸 때 적합
for (int i = 0; i < 10; i++) {
if (i % 3 == 0) {
continue; // if의 조건식이 true일 때, for문 하나 나감
}
System.out.println(i);
}
// console
// 0 % 3 = 0 → 그래서 0도 건너띔
1
2
// 3 → 3의 배수 부분만 건너띔
4
5
// 6
7
8
// 9
Ch4 - 22. break문과 continue문 예제
▶ 메뉴
▷ 메뉴 입력 시, continue문
▷ 종료 시, break문
while (true) {
System.out.println("{MENU}");
System.out.println("[121]");
System.out.println("[131]");
System.out.println("[180] : OFF");
System.out.print("menu > ");
Scanner scanner = new Scanner(System.in);
int menuS = scanner.nextInt();
switch (menuS) {
case 180: {
System.out.printf("종료\n\n");
break;
}
case 121: {
System.out.printf("하이!에이치아이~\n\n");
continue;
}
case 131: {
System.out.printf("바이!짜이찌엔~\n\n");
continue;
}
default: {
System.out.printf("재입력\n\n");
continue;
}
}
}
// console
{MENU}
[121]
[131]
[180] : OFF
menu > 188
재입력
{MENU}
[121]
[131]
[180] : OFF
menu > 121
하이!에이치아이~
{MENU}
[121]
[131]
[180] : OFF
menu > 131
바이!짜이찌엔~
{MENU}
[121]
[131]
[180] : OFF
menu > 180
종료
{MENU}
[121]
[131]
[180] : OFF
menu >
Ch4 - 23. 이름 붙은 반복문
▶ 이름 붙은 반복문이란?
▷ break문 : 하나의 반복문을 벗어남
▷ 그런데 중첩 for문 처럼 brea문이 하나 이상의 for문을 벗어나야 한다면?
▷ 반복문에 이름을 붙여서 하나 이상의 반복문을 벗어남
▶ break문과 이름붙은 break문
▷ break문
int i;
Loop1 : for (i = 1; i <= 5; i++) {
System.out.printf("여기는 Loop1-for문\n");
for (;;) {
System.out.printf("여기는 Loop1-for문-중첩for문\n");
System.out.printf("%d번째 탈출시도!\n", i);
System.out.printf("%d번째 탈출실패ㅠㅠ\n\n", i);
break;
}
}
System.out.printf("NONO~\n");
System.out.printf("%d번째 탈출성공!!!", i - 1);
// console
여기는 Loop1-for문
여기는 Loop1-for문-중첩for문
1번째 탈출시도!
1번째 탈출실패ㅠㅠ
여기는 Loop1-for문
여기는 Loop1-for문-중첩for문
2번째 탈출시도!
2번째 탈출실패ㅠㅠ
여기는 Loop1-for문
여기는 Loop1-for문-중첩for문
3번째 탈출시도!
3번째 탈출실패ㅠㅠ
여기는 Loop1-for문
여기는 Loop1-for문-중첩for문
4번째 탈출시도!
4번째 탈출실패ㅠㅠ
여기는 Loop1-for문
여기는 Loop1-for문-중첩for문
5번째 탈출시도!
5번째 탈출실패ㅠㅠ
NONO~
5번째 탈출성공!!!
- 중첩 for문 {break문}
→ 중첩 for문만 빠져나옴
→ 다시 for문 안에서 반복
→ for문 돌 거 다 돌고 빠져나옴
▷ 이름붙은 break문
int i;
Loop1 : for (i = 1; i <= 5; i++) {
System.out.printf("여기는 Loop1-for문\n");
for (;;) {
System.out.printf("여기는 Loop1-for문-중첩for문\n");
System.out.printf("%d번째 탈출시도!\n", i);
break Loop1;
}
}
System.out.printf("%d번째 탈출성공!!!", i);
// console
여기는 Loop1-for문
여기는 Loop1-for문-중첩for문
1번째 탈출시도!
1번째 탈출성공!!!
- 중첩 for문 {break문 Loop1}
→ 중첩 for문 빠져나옴
→ for문도 한 번에 빠져나옴
Ch4 - 24. 이름 붙은 반복문 예제
▶ 메뉴 - 완전종료 추가
▷ 완전종료 시, while문 전체 빠져나가기
Loop1:
while (true) {
System.out.println("{MENU}");
System.out.println("[121] : hi");
System.out.println("[131] : bye");
System.out.println("[180] : 처음처럼");
System.out.println("[181] : OFF");
System.out.print("menu > ");
Scanner scanner = new Scanner(System.in);
int menuS = scanner.nextInt();
switch (menuS) {
case 180: {
System.out.printf("돌아가기\n\n");
break;
}
case 181: {
System.out.println("OFF");
break Loop1;
}
case 121: {
System.out.printf("하이!에이치아이~\n\n");
continue;
}
case 131: {
System.out.printf("바이!짜이찌엔~\n\n");
continue;
}
default: {
System.out.printf("재입력\n\n");
continue;
}
}
}
// console
{MENU}
[121] : hi
[131] : bye
[180] : 처음처럼
[181] : OFF
menu > 121
하이!에이치아이~
{MENU}
[121] : hi
[131] : bye
[180] : 처음처럼
[181] : OFF
menu > 131
바이!짜이찌엔~
{MENU}
[121] : hi
[131] : bye
[180] : 처음처럼
[181] : OFF
menu > 180
돌아가기
{MENU}
[121] : hi
[131] : bye
[180] : 처음처럼
[181] : OFF
menu > 181
OFF