package break_continue_statement;
public class Ex2 {
public static void main(String[] args) {
/*
* break문과 continue문의 label 사용
*
*/
// for문을 이용하여 2 ~ 9단까지 출력
OUTTER :
for (int dan = 2; dan <= 9; dan++) {
System.out.println("< " + dan + " 단 >");
INNER :
for (int i = 1; i <= 9; i++) {
if(i == 5) {
// break;
// break 문을 만나면 가장 가까운 반복문 블럭을 빠져나감
// => 즉, 안쪽 for문이 종료되지만, 바깥쪽 for문의 남은 문장이 실행되고, 다음 반복이 진행
// => 결과적으로 각 단의 4까지 출력됨
// break INNER;
// => 안쪽 반복문의 레이블 지정 시 일반 break 문과 동일
// break OUTTER;
// => 바깥쪽 반복문의 레이블 지정 시 지정된 바깥쪽 for문을 빠져나감
// => 즉, 안쪽 for문이 5일 때 전체 반복문 종료되므로 2단의 2 * 4까지만 출력되고 종료됨
// continue; // continue INNER;
// continue 문을 만나면 가장 가까운 반복문의 아래쪽 실행문장들을 생략하고 다음 반복 진행
// => 즉, 안쪽 for문이 5일 때 출력을 생략하고 i++(증감식)으로 이동하여 다음 반복인
// 6, 7, 8, 9 그대로 진행
// => 결과적으로 각 단의 5를 제외한 나머지 출력됨
continue OUTTER;
// => 바깥쪽 반복문의 레이블 지정 시
// 현재 문장의 아래쪽 문장들을 생략하고
// 바깥쪽 for문의 증감식으로 이동하여 다음 반복 진행
// => 즉, 안쪽 for문이 5일 때, 나머지 출력을 생략하고 다음 단으로 이동하여 다시 5일 때
// 나머지 출력 생략
}
System.out.println(dan + " * " + i + " = " + (dan * i));
}
System.out.println();
}
// for (;;) {
//
// }
//
// while (true) {
//
// }
}
}