English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Kotlin break 표현식

이 튜토리얼에서는 break를 사용하여 루프를 종료하는 방법을 배울 것입니다. 또한 break 태그도 배울 것입니다.

루프를 사용하고 계신다고 가정해 보겠습니다. 때로는 테스트 표현식을 확인하지 않고 즉시 루프를 종료하고 싶을 때가 있습니다.

이런 경우에 break를 사용할 수 있습니다. break를 만나면 가장 가까운 닫힌 루프를 종료합니다(테스트 표현식을 확인하지 않아도 됩니다). 이는 비슷합니다.Java에서의 break 문은 이렇게 작동합니다.

break은 어떻게 작동합니까?

그것은 거의 항상if..else 함께 사용예를 들어,

for (...) {
    if (testExpression) {
        break
    }
}

if testExpression이 true로 평가되면, break가 for 루프를 종료합니다.

예제: Kotlin break

fun main(args: Array<String>) {
    for (i in 1..10) {
        if (i == 5) {
            break
        }
        println(i)
    }
}

이 프로그램을 실행할 때, 출력은 다음과 같습니다:

1
2
3
4

의 값이5when, i = 5when, if 내부의 값이 true로 계산되면 break가 실행되어 해당 루프를 종료합니다.for 루프

예제: 사용자가 0을 입력할 때까지 합 계산

아래 프로그램은 사용자가 0을 입력할 때까지 입력된 숫자의 합을 계산합니다.

접근Kotlin 기본 입력/출력사용자로부터 입력을 받는 방법에 대해 더 알고 싶다면.

fun main(args: Array<String>) {
    var sum = 0
    var number: Int
    while (true) {
        print("숫자를 입력하세요: ")
        number = readLine()!!.toInt()
        if (number == 0)
            break
        sum += number
    }
    print("sum = $sum")
}

이 프로그램을 실행할 때, 출력은 다음과 같습니다:

숫자를 입력하세요: 4
숫자를 입력하세요: 12
숫자를 입력하세요: 6
숫자를 입력하세요: -9
숫자를 입력하세요: 0
sum = 13

위 프로그램에서 while 루프의 테스트 표현식은 항상 true입니다.

여기서, while 루프는 사용자가 0을 입력할 때까지 실행됩니다. 사용자가 0을 입력하면 break가 실행되어 while 루프를 종료합니다.

Kotlin break 레이블

현재까지 배운 것은 레이블이 없는 break입니다. break는 또 다른 방식으로(레이블 형식) 필요한 루프(외부 루프가 될 수 있습니다)를 종료할 수 있습니다.

break 레이블은 어떻게 작동합니까?

Kotlin의 레이블은지시자시작 후 @를 따릅니다.

여기서, test@는 외부에 있습니다.while 루프에서레이블된 레이블. 이제, 레이블된 break를 사용하여 특정 루프를 깨끗이 끊을 수 있습니다. (이 경우 break @test).

이는 하나의 예제입니다:

fun main(args: Array<String>) {
    first@ for (i in 1..4) {
        second@ for (j in 1..2) {
            println("i = $i; j = $j")
            if (i == 2)
                break@first
        }
    }
}

이 프로그램을 실행할 때, 출력은 다음과 같습니다:

i = 1; j = 1
i = 1; j = 2
i = 2; j = 1

여기서, i = 2표현식의 계산 결과가 true일 때, break@first를 통해 레이블이 first@인 루프를 종료합니다.

이 프로그램의 몇 가지 변형입니다.

아래 프로그램에서 break는 레이블 @second를 가진 루프를 종료합니다.

fun main(args: Array<String>) {
    first@ for (i in 1..4) {
        second@ for (j in 1..2) {
            println("i = $i; j = $j")
            if (i == 2)
                break@second
        }
    }
}

이 프로그램을 실행할 때, 출력은 다음과 같습니다:

i = 1; j = 1
i = 1; j = 2
i = 2; j = 1
i = 3; j = 1
i = 3; j = 2
i = 4; j = 1
i = 4; j = 2

주의:break은 프로그램에서 가장 내부의 루프를 종료하는 데 사용되므로, 이 경우 태그가 있는 break를 사용하지 않아도 됩니다.

Kotlin에 있습니다3break, continue 및 return과 같은 구조적 점프 표현