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

Swift continue 文

この記事では、continue文を使用してプログラムの制御を移行する方法について学びます。

ループや条件文を使用する際に、ループ内の特定の文をスキップしたり、テスト式を確認しないでループを終了する必要があることがあります。

この場合、breakとcontinue文を使用します。詳細については、このページを訪れてくださいbreak文のさらに詳しい情報

continue文はループまたはswitch文内の文の実行を停止し、ループのテスト式に戻って再評価します。

continue文の文法は以下の通りです:

continue

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

例1:forループ内のSwift continue文

for i in 1...5 {
    if i == 4 {
        continue
    }
    print("i = \(i)")
}

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

i = 1
i = 2
i = 3
i = 5

上記のプログラムでは、反復するシーケンスの範囲は1まで5。

iの値はrange()に設定されます1)の最初の数字があり、各反復で範囲の次の数字に更新されます。

ループにはi = = 4のif文。式がtrueを評価するとき(第4次の反復でcontinue文を実行し、print("i = \(i)"の実行をスキップし、次の反復(i = 5)。

例2:whileループ内のSwift continue文

var intialLevel:Int = -5, finalLevel:Int = 2
var currentLevel:Int = intialLevel
while currentLevel < finalLevel {
    if intialLevel < 0 {
        print("始めのレベルは正数でなければなりません")
        intialLevel = 0
        currentLevel = intialLevel
        continue //現在の実行をスキップ
    }
    currentLevel += 1
    print("next level")
}
print("whileループの外")

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

始めのレベルは正数でなければなりません
次のレベル
次のレベル
whileループの外

上記のプログラムでは、whileループはcurrentLevelがfinalLevelより小さいまで実行されます。initialLevelに割り当てられた値は-5そして、0より小さいため、if内部の文を実行します。

プログラムがcontinue文に到達すると、whileループの文をスキップし、currentLevel<finalLevelの条件を再チェックします。

例3:Swiftのネストループのcontinue文

for j in 1...2 {
    for i in 1...5 {
        if i == 4 {
            continue
        }
        print("i = \(i)")
    }
    print("j = \(j)")
}

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

i = 1
i = 2
i = 3
i = 5
j = 1
i = 1
i = 2
i = 3
i = 5

上のプログラムでは、if i==4中のcontinue文は、内部のforループ中のprint("i=\(i)"の実行をスキップします。しかし、for i in 1...5 外部ループの実行

しかし、外側のループにもcontinueを使いたい場合、Swiftでラベル文を使用する必要があります。

continueラベルを持つ声明

ラベル前置の(label:Statement)形式の文はラベル文と呼ばれます。ラベルは識別子であり、後でbreakやcontinue文で参照することができます。

continueを持つラベル文はどう働きますか?

ここでは、labelが識別子です。continue文が実行されると、プログラムはループ中のcoeの残りの部分をスキップし、labelから始まる文にジャンプします。

例4:continue タグを持つ文

outerloop: for j in 1...2 {
    innerloop: for i in 1...5 {
        if i == 4 {
            continue outerloop
        }
        print("i = \(i)")
    }
    print("j = \(j)")
}

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

i = 1
i = 2
i = 3
i = 1
i = 2
i = 3

上記のプログラムでは、2つのタグの文 outerloop: for j in があります。 1...2 および innerloop: for i in 1...5。

タグ名outerloopおよびinnerloopはcontinue文と一緒に使用できます。

プログラムでは、continue outerloop 文を使って内外ループ中の文の実行をスキップしました。このプロセスでは、i と j の値が範囲の次の数字に更新されます。