1️⃣ break
- 반복문이 실행되는 중간에 사용하여 반복문을 종료시킴
- 중첩 반복문에 사용될 경우, 사용된 위치와 가장 가까운 반복문 종료
for (int i = 1; i <= 5; i++) {
if (i == 3) break;
System.out.printf("자바 반복문 내에서 브레이크 확인 : 지금 i값은 %d%n", i);
}
System.out.println("##########################################");
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= 5; j++) {
if (i == j) break;
System.out.printf("자바 중첩 반복문 내에서 브레이크 확인 : i는 %d%n이고 j는 %d%n ", i, j);
}
}
/* 출력 (보기 좋게 정리하였음)
자바 반복문 내에서 브레이크 확인 : 지금 i값은 1
자바 반복문 내에서 브레이크 확인 : 지금 i값은 2
##########################################
자바 중첩 반복문 내에서 브레이크 확인 : i는 2이고 j는 1
자바 중첩 반복문 내에서 브레이크 확인 : i는 3이고 j는 1
자바 중첩 반복문 내에서 브레이크 확인 : i는 3이고 j는 2
자바 중첩 반복문 내에서 브레이크 확인 : i는 4이고 j는 1
자바 중첩 반복문 내에서 브레이크 확인 : i는 4이고 j는 2
자바 중첩 반복문 내에서 브레이크 확인 : i는 4이고 j는 3
자바 중첩 반복문 내에서 브레이크 확인 : i는 5이고 j는 1
자바 중첩 반복문 내에서 브레이크 확인 : i는 5이고 j는 2
자바 중첩 반복문 내에서 브레이크 확인 : i는 5이고 j는 3
자바 중첩 반복문 내에서 브레이크 확인 : i는 5이고 j는 4
*/
2️⃣ continue
- 반복문 실행되는 중간에 사용하여 다음 반복문 조건으로 넘김
for (int i = 1; i <= 5; i++) {
if (i % 2 == 0) continue;
System.out.printf("자바 반복문 내에서 컨티뉴 확인 : 지금 i값은 %d%n", i);
}
System.out.println("##########################################");
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= 5; j++) {
if (j % i == 0) continue;
System.out.printf("자바 중첩 반복문 내에서 컨티뉴 확인 : i는 %d%n이고 j는 %d%n ", i, j);
}
}
/* 출력(보기 좋게 정리하였음)
자바 반복문 내에서 컨티뉴 확인 : 지금 i값은 1
자바 반복문 내에서 컨티뉴 확인 : 지금 i값은 3
자바 반복문 내에서 컨티뉴 확인 : 지금 i값은 5
##########################################
자바 중첩 반복문 내에서 컨티뉴 확인 : i는 2이고 j는 1
자바 중첩 반복문 내에서 컨티뉴 확인 : i는 2이고 j는 3
자바 중첩 반복문 내에서 컨티뉴 확인 : i는 2이고 j는 5
자바 중첩 반복문 내에서 컨티뉴 확인 : i는 3이고 j는 1
자바 중첩 반복문 내에서 컨티뉴 확인 : i는 3이고 j는 2
자바 중첩 반복문 내에서 컨티뉴 확인 : i는 3이고 j는 4
자바 중첩 반복문 내에서 컨티뉴 확인 : i는 3이고 j는 5
자바 중첩 반복문 내에서 컨티뉴 확인 : i는 4이고 j는 1
자바 중첩 반복문 내에서 컨티뉴 확인 : i는 4이고 j는 2
자바 중첩 반복문 내에서 컨티뉴 확인 : i는 4이고 j는 3
자바 중첩 반복문 내에서 컨티뉴 확인 : i는 4이고 j는 5
자바 중첩 반복문 내에서 컨티뉴 확인 : i는 5이고 j는 1
자바 중첩 반복문 내에서 컨티뉴 확인 : i는 5이고 j는 2
자바 중첩 반복문 내에서 컨티뉴 확인 : i는 5이고 j는 3
자바 중첩 반복문 내에서 컨티뉴 확인 : i는 5이고 j는 4
*/
💡코틀린에서는 label을 사용하여 반복문을 한꺼번에 종료하거나 반복문 조건을 넘길 수 있음
- 반복문 앞에 '라벨_이름 + @'를 붙이고, break 혹은 continue 뒤에 '@ + 라벨_이름'을 붙여서 사용
라벨_이름@for (범위) {
for (범위) {
if(조건) break@라벨_이름
}
}
라벨_이름@for (범위) {
for (범위) {
if(조건) continue@라벨_이름
}
}
fun main () {
doubleForBreakExample()
println("##############################")
doubleForContinueExample()
}
fun doubleForBreakExample() {
breakLoop@for(i in 1..5) {
for (j in 1..3) {
if (i == 2 && j == 2) break@breakLoop
println("코틀린 다중 반복문 break 확인 : i는 $i 이고, j는 $j")
}
}
}
fun doubleForContinueExample() {
continueLoop@for(i in 1 .. 5) {
for (j in 1 .. 5) {
if (j == i) continue@continueLoop
println("코틀린 다중 반복문 continue 확인 : i는 $i 이고, j는 $j")
}
}
}
/* 출력
코틀린 다중 반복문 break 확인 : i는 1 이고, j는 1
코틀린 다중 반복문 break 확인 : i는 1 이고, j는 2
코틀린 다중 반복문 break 확인 : i는 1 이고, j는 3
코틀린 다중 반복문 break 확인 : i는 2 이고, j는 1
##############################
코틀린 다중 반복문 continue 확인 : i는 2 이고, j는 1
코틀린 다중 반복문 continue 확인 : i는 3 이고, j는 1
코틀린 다중 반복문 continue 확인 : i는 3 이고, j는 2
코틀린 다중 반복문 continue 확인 : i는 4 이고, j는 1
코틀린 다중 반복문 continue 확인 : i는 4 이고, j는 2
코틀린 다중 반복문 continue 확인 : i는 4 이고, j는 3
코틀린 다중 반복문 continue 확인 : i는 5 이고, j는 1
코틀린 다중 반복문 continue 확인 : i는 5 이고, j는 2
코틀린 다중 반복문 continue 확인 : i는 5 이고, j는 3
코틀린 다중 반복문 continue 확인 : i는 5 이고, j는 4
*/
댓글