English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
このチュートリアルでは、breakを使用してループを終了する方法を学びます。また、breakタグについても学びます。
ループを使用していると仮定します。時にはテスト式をチェックせずにすぐにループを終了したいことがあります。
このような場合、breakを使用することができます。breakに遭遇すると、最も近い閉じられたループを終了します(テスト式をチェックする必要はありません)。これは似ています。Javaでのbreak文の動作
これはほとんどいつもif..elseを一緒に使用たとえば、
for (...) { if (testExpression) { break } }
if testExpressionがtrueと評価されると、breakが実行され、forループが終了します。
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を入力するまでの入力された数字の合計を計算します。
アクセス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ループが終了します。
今まで学んだのは、タグのない形式の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。