티스토리 뷰

//코틀린으로 쓴 문법이다

 

일반적인 책에서는 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문을 지정해서 멈출수 있다. 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함