Kotlin :: 흐름 제어 continue와 break, 레이블 (Label)

Android/Kotlin 2020.10.27 댓글 moonsu
728x90

 

 

 

1. continue 

continue 키워드는 반복문에서 일부 문장을 건너 뛸 때 사용한다.

fun main(args: Array<String>): Unit {
    var i = 0;
    
    while (i < 10) {
        i += 1
        if (i % 2 == 0)  // i가 짝수 일 때 아래 코드를 무시하고 반복문의 처음으로 간다.
            continue
        
        print(i)
    }
}

// 결과 : 1 3 5 7 9

 

continue 를 실행하면 아래 코드를 실행하지 않고 가장 가까운 반복분의 첫 부분으로 이동한다. 위 코드에서 i 가 짝수일 때 continue 가 실행되므로 짝수는 출력되지 않는다.

 

2. break

break 키워드는 호출 즉시 가장 가까운 반복문을 탈출한다.

fun main(args: Array<String>): Unit {
    var i = 0;
    
    while (i < 10) {
        i += 1
        if (i == 8)  // i가 8일 때 반복문에서 탈출한다.
            break
        
        print(i)
    }
}

// 결과 : 1 2 3 4 5 6 7

continue 는 반복문의 처음으로, break 는 반복문의 탈출이다.

 

3. Label

먼저 아래 예를 보면

var x = 0
var y = 0

while (x <= 30) {
    y = 0
    
    while (y <= 15) {
        if(y == 10)
            break
        y++
    }
    x++
}

반복문이 이중으로 작성되어 있다. 하지만 break 키워드는 반복문을 하나만 빠져나오기 때문에 y가 10이 되어 빠져나온다고 해도 while(x <= 30){...} 반복문이 계속해서 돈다. 이런 문제를 해결하기 위해 코틀린에서는 레이블(Lable) 이라는 문법을 제공한다.

 

var x = 0
var y = 0

LableName@ while (x <= 30) {
    y = 0
    
    while (y <= 15) {
        if (y == 10)
            break@LableName   
        y++
    }
    x++
}

break 키워드가 호출 될 때 break 에 지정된 레이블이름과 같은 곳 즉, 여기서는 첫번째 while 반복문을 탈출하게 된다. LableName 은 임의로 변경이 가능하다.

 

 

 

728x90
반응형

'Android > Kotlin' 카테고리의 다른 글

Kotlin :: try~catch, throw  (0) 2021.11.08
Kotlin :: Unit  (0) 2020.11.16
Kotlin :: 반복문 do~while  (0) 2020.10.21
Kotlin :: 반복문 while  (0) 2020.10.21
Kotlin :: 조건문 when  (0) 2020.10.21

댓글