티스토리 뷰
//코틀린으로 쓴 문법이다
일반적인 책에서는 for문으로만 끝나기 때문에 실무에서 2중for문의 경우 예측이 잘 안된다.
이럴땐 그냥 코드를 써보면 알지만 일단 결과를 예측하면
//for for
for (i in 1..5){
println("i: "+i)
for(j in 1..5){
if( j == 3) break
println( "i: "+ i + " / j : " + j)
}
}
결과는 다음과 같다.
i: 1
i: 1 / j : 1
i: 1 / j : 2
i: 2
i: 2 / j : 1
i: 2 / j : 2
i: 3
i: 3 / j : 1
i: 3 / j : 2
i: 4
i: 4 / j : 1
i: 4 / j : 2
i: 5
i: 5 / j : 1
i: 5 / j : 2
즉 break가 있다고 멈추지 않고 안쪽for문만 멈춘다.
그럼 continue라면?
i: 1
i: 1 / j : 1
i: 1 / j : 2
i: 1 / j : 4
i: 1 / j : 5
i: 2
i: 2 / j : 1
i: 2 / j : 2
i: 2 / j : 4
i: 2 / j : 5
i: 3
i: 3 / j : 1
i: 3 / j : 2
i: 3 / j : 4
i: 3 / j : 5
i: 4
i: 4 / j : 1
i: 4 / j : 2
i: 4 / j : 4
i: 4 / j : 5
i: 5
i: 5 / j : 1
i: 5 / j : 2
i: 5 / j : 4
i: 5 / j : 5
역시 안쪽 for문에서만 작동할뿐 밖for문은 상관이 없다.
loop@
for (i in 1..5){
println("i: "+i)
loop2@
for(j in 1..5){
if( j == 3) break@loop
println( "i: "+ i + " / j : " + j)
}
}
//결과
i: 1
i: 1 / j : 1
i: 1 / j : 2
코틀린에서 2중포문을 멈추려면 break@loop 이런식으로 해야한다.
loop@은 별칭을 만들어주는것으로 for문을 지정해서 멈출수 있다.
'프로그래밍 > 안드로이드' 카테고리의 다른 글
CrudRepository 와 JpaRepository 차이. (0) | 2021.03.11 |
---|---|
kotlin android extensions 제거에 따른 버튼등의 id 부르는 방법 (0) | 2021.03.04 |
코틀린 for문 간단정리 (0) | 2021.03.01 |
스프링부터 2.x + 버전에서 업로드용량 늘리기 (0) | 2020.12.10 |
[안드로이드] 비디오 재생 +seekbar로 음량조절 (0) | 2018.10.15 |