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

の値がiに等しい場合5の場合、i = 5の場合、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には3構造的なジャンプ表現:break、continueおよびreturn。