English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
このチュートリアルでは、continueを使用してループの現在の反復をスキップする方法を学びます。また、continueタグに関する情報もこの記事で学ぶことができます。
ループを使用していると仮定します。時にはループの現在の反復をスキップしたいことがあります。
この場合、continueを使用します。continueは、ループの現在の反復をスキップし、プログラムのコントロールがループ本体の最後にジャンプします。
これはほとんど常に一緒に使用されます。if ... else 構造を一緒に使用します。例えば、
while(testExpression1) { // コード1 if(testExpression2) { continue } // コード2 }
のtestExpression2の評価がtrueの場合、continueコマンドが実行され、その結果、whileループの後のそのループ内のすべてのコードがスキップされます。
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
今まで学んだのは、タグのない形式のcontinueで、最近の閉じられたループの現在の反復をスキップします。continueは、continueタグを使用することで、必要なループ(外部ループも可能)の反復をスキップすることもできます。
Kotlinのタグは、識別子の先頭にあり、その後@があります。
ここでは、outerloop@がwhileループの外部タグのタグ。今や、continueタグ(continue@outerloop)を使用することで、特定のループコードの実行をスキップすることができます。
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。