5번 포스트인 반복문에서 반복문을 사용하게 되면,
중간에 그만하고 나와야 될때도 있고,
나올때 값을 반환해야 될때도 있고,
여러 상황들이 생길수 있다.
어떻게 동작하는지 확인해보자.
break : 반복문 즉시 종료
fun main() { for(i in 1..10){ if(i==3) break // if(i==3) break : 일때 다음코드를 실행시키지 않고 종료된다. print(i) } } // [결과] 1 2
Continue : 반복문 도중 해당부분은 건너뜀
fun main() { for(i in 1..10){ if(i==3) continue // if(i==3) continue : 코드를 건너 뛴다. print(i) } } // [결과] 1 2 4 5 6 7 8 9 10
고전적인 언어에서는
fun main() { for(i in 1..10){ for(j in 1..10){ if(i==2 && j==2) break } if(i == 2 && j == 2) break } }
반복문에서 완전히 빠져나오기 위해서 2번 break 체크를 해줘야 나올수 있다.
코틀린에서는
fun main() { loop@for(i in 1..10){ for(j in 1..10){ if(i==2 && j==2) break@loop println("i:$i, j:$j") // $를 쓰면 문자열 안에 변수값 포맷팅가능 } } } // i==2이고 j==2일 경우 loop반복문 break // [결과] i:1, j:1 i:1, j:2 i:1, j:3 i:1, j:4 i:1, j:5 i:1, j:6 i:1, j:7 i:1, j:8 i:1, j:9 i:1, j:10 i:2, j:1
break 를 두번 적을 필요 없이, 1번의 break@label 포인트로 빠져 나올 수 있다.
j:2 인 순간 빠져나오는 것
&& : AND
=> (조건A) && (조건B) : 조건A,B 둘다 true 여야 조건 통과
|| : OR
=>(조건A) || (조건B) : 조건A,B 둘중 1개라도 true 면 통과
! : NOT
=> !(조건A) : 조건A 값을 반전 시킨다.
fun main() { println(true && false) println(true || false) println(!true) println(!false) } // [결과] false true false true