English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
この記事では、break文を使用してプログラムの制御を変更する方法を学びます。
ループや条件文を使用する際、ループ内の特定の文をスキップしたり、テスト式を確認せずにループを終了する必要がある場合があります
この場合、break文とcontinue文を使用します。次の章で詳しく説明します continue文。
break文はループまたはswitch文の実行を停止し、その後の次の文にジャンプします。
break文の文法は以下の通りです:
break
for i in 1...5 { if i == 4 { break } print("i = \(i)") } print("The end")
このプログラムを実行すると、以下の結果が表示されます:
i = 1 i = 2 i = 3 The end
上記のプログラムでは、反復するシーケンスの範囲は1から5。
iの値はrange(1)の最初の数字、そして各反復で次の数字に更新されます。
ループにはif文も含まれており、式はi==4。式がtrueと評価されたとき(第4次の反復時(break文が実行された場合)に、for-ループ終了。
その後、それがループの外にジャンプして印刷します The End。
var currentLevel: Int = 1, finalLevel: Int = 2 var isLifeAvailable = true while (isLifeAvailable) { if currentLevel > finalLevel { print("ゲームオーバー、クリアがないです") break } //ゲームをプレイし、次のステージに入ります currentLevel += 1 print("次のステージ") } print("Whileループの外")
このプログラムを実行すると、以下の結果が表示されます:
次のステージ 次のステージ ゲームオーバー、クリアがないです Whileループの外
上記のプログラムでは、whileループのテスト表現は常にtrueです。
currentLevelがfinalLevelより大きい場合、ifブロック内のbreak文が実行されます。その後、whileループが終了(終了)し、ループの後の文が実行されます、つまりprint("Whileループの外")..
for j in 1...2 { for i in 1...5 { if i == 4 { break } print("i = \(i)") } print("j = \(j)") }
このプログラムを実行すると、以下の結果が表示されます:
i = 1 i = 2 i = 3 j == 1 i = 1 i = 2 i = 3 j == 2
上記のプログラムでは、if i == 4 内的break文は、ただfor i inを終了します。 1...5 内部ループの実行。しかし、それが外側のループfor j inを続行します。 1...2 。
しかし、もしあなたが外側のループfor j inもbreakしたい場合は 1...2どうですか?そのために、Swiftではタグ付き文を使用します。
プレフィックスが(label:Statement)形式の文は、タグ付き文と呼ばれます。タグは識別子であり、後でbreakやcontinue文で参照することができます。
ここではlabelは識別子です。break実行文が実行されると、それがlabelの内側のループを終了し、その後の文に即座にジャンプします。
outerloop: for j in 1...2{ innerloop: for i in 1...5 { if i == 4 { break outerloop } print("i = \(i)") } print("j = \(j)") }
このプログラムを実行すると、以下の結果が表示されます:
i = 1 i = 2 i = 3
上記のプログラムでは、2つのラベルの文 outerloop: for j in 1...2 および innerloop: for i in 1...5。
ラベル名 outerloop と innerloop は、break文と一緒に使用できます。
この文 break outerloop は、2つのループを終了し、プログラムを終了します。
他のプログラミング言語、例えばC、C ++、Javaなど、break文を使用してswitch文を終了します。しかし、Swiftでは、switch文が最初に一致するswitchケースが終わるとすぐに実行を完了します。したがって、Swiftのswitchケースではbreakの追加は任意です。詳細については、以下のURLを訪問してくださいSwift switch文。