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

Kotlin continue 表現

このチュートリアルでは、continueを使用してループの現在の反復をスキップする方法を学びます。また、continueタグに関する情報もこの記事で学ぶことができます。

ループを使用していると仮定します。時にはループの現在の反復をスキップしたいことがあります。

この場合、continueを使用します。continueは、ループの現在の反復をスキップし、プログラムのコントロールがループ本体の最後にジャンプします。

continue はどのように動作しますか?

これはほとんど常に一緒に使用されます。if ... else 構造を一緒に使用します。例えば、

while(testExpression1) {
    // コード1
    if(testExpression2) {
        continue
    }
    // コード2
}

のtestExpression2の評価がtrueの場合、continueコマンドが実行され、その結果、whileループの後のそのループ内のすべてのコードがスキップされます。

例:Kotlin continue

fun main(args: Array<String>) {
    for(i in 1..5) {
        println("$i Always printed.")
        if(i > 1 && i < 5) {
            continue
        }
        println("$i Not always printed.")
    }
}

プログラムを実行するとき、出力は以下のようになります:

1 Always printed.
1 Not always printed.
2 Always printed.
3 Always printed.
4 Always printed.
5 Always printed.
5 Not always printed.

の値が1および5の場合、continueが実行され、その結果、

println("$i Not always printed.")

宣言。

しかし、

println("$i Always printed.")

ループの各反復で実行されます。なぜなら、このステートメントはcontinue構造の前にあります。

例:正の数の和のみを計算

以下のプログラムは、ユーザーが入力する最大6正の整数の合計です。ユーザーが負の数または0を入力した場合、それを計算からスキップします。

アクセスKotlinの基本的な入出力ユーザーから入力を受け取る方法についての詳細を学ぶために。

fun main(args: Array<String>) {
    var number: Int
    var sum = 0
    for(i in 1..6) {
        print("整数を入力してください:")
        number = readLine()!!.toInt()
        if(number <= 0)
            continue
        
        sum += number
    }
    println("sum = $sum")
}

プログラムを実行するとき、出力は以下のようになります:

整数を入力してください: 4
整数を入力してください: 5
整数を入力してください: -50
整数を入力してください: 10
整数を入力してください: 0
整数を入力してください: 12
sum = 31

Kotlin continueタグ

今まで学んだのは、タグのない形式のcontinueで、最近の閉じられたループの現在の反復をスキップします。continueは、continueタグを使用することで、必要なループ(外部ループも可能)の反復をスキップすることもできます。

どうやってcontinueをタグとして使用するか?

Kotlinのタグは、識別子の先頭にあり、その後@があります。

ここでは、outerloop@がwhileループの外部タグのタグ。今や、continueタグ(continue@outerloop)を使用することで、特定のループコードの実行をスキップすることができます。

例:continue @タグ

fun main(args: Array<String>) {
    ここで@for(i in 1..5) {
        for(j in 1..4) {
            if (i == 3 || j == 2)
                continue@here
            println("i = $i; j = $j")
        }
    }
}

プログラムを実行するとき、出力は以下のようになります:

i = 1; j = 1
i = 2; j = 1
i = 4; j = 1
i = 5; j = 1

タグ付きのcontinueを使用することは通常推奨されません。これはコードの理解を難しくします。タグ付きのcontinueを使用する必要がある場合、コードをリファクタリングし、他の方法で解決することを試みて、読みやすさを向上させましょう。

Kotlinでは3個の構造飛び出し表現:break、continueおよびreturn。