Kotlinのfor文のサンプルです。処理を繰り返す時に使用します。
目次
for文 | for文 |
break | ループ処理を途中で終了する(break) |
入れ子のときにbreakを使用する | |
breakでラベルを使用する | |
continue | ループ処理で処理をスキップする(continue) |
入れ子のときにcontinueを使用する | |
continueでラベルを使用する |
for文
for (変数 in 開始値 .. 終了値){ 実行される処理 } |
- 処理を繰り返す時に使用します。最初にforを書くのでfor文と呼ばれます。
- 開始値から終了値まで実行されます。
- 変数は、カウンター変数/ループ変数です。
for文のサンプルです。
fun main() {
for (i in 0..2) {
println(i) // 0 1 2が出力される
}
val color = arrayOf("赤", "黄", "青") // 配列
for (i in color.indices) {
println(color[i]) // 赤 黄 青が出力される
}
}
3行目のiは開始値から始まります。
1ずつ増えていきます。
7行目は、配列です。
8行目のindicesは、indexの複数形です。配列の長さを返します。
9行目は、変数と添字で配列の値を表示しています。
ループ処理を途中で終了する(break)
- for文でbreakを使用するとループ処理から抜けます。(そのブロックから抜けます)
- 「{」(波括弧) から「}」までをブロックといいます。
fun main() {
for (i in 0..2) {
if (i == 1) {
break
}
println(i) // 0が出力される
}
}
5行目のbreakでfor文を抜けます。
7行目は、0のみ出力されます。
入れ子のときにbreakを使用する
for文が入れ子のときのbreakのサンプルです。
fun main() {
for (i in 0..1) {
for (j in 0..1) {
if (j == 0) {
break
}
println("j=$j") //出力なし
}
println("i=$i") // i=0 i=1が出力される
}
}
3,4行目にfor文があり入れ子になっています。
6行目のbreakは、内側のfor文のみ抜けます。
breakでラベルを使用する
for文のbreakでラベルを使用するサンプルです。
fun main() {
label1@ for (i in 0..1) {
for (j in 0..1) {
if (j == 0) {
break@label1
}
println("j=$j") //出力なし
}
println("i=$i") // 出力なし
}
}
3,6行目にラベル「@label1」を追加しています。
6行目のラベルから3行目のラベルに飛びループを抜けるので出力なしになります。
ループ処理で処理をスキップする(continue)
- for文でcontinueを使用すると、ループ処理の先頭に戻ります。(ブロックの先頭位置に戻ります)
- 「{」(波括弧) から「}」までをブロックといいます。
fun main() {
for (i in 0..2) {
if (i == 1) {
continue
}
println(i) // 0 2が出力される
}
}
5行目のcontinueでループ処理の先頭の3行目に戻ります。
7行目は、0と2が出力されます。
入れ子のときにcontinueを使用する
for文が入れ子のときのcontinueのサンプルです。
fun main() {
for (i in 0..1) {
for (j in 0..1) {
if (j == 0) {
continue
}
println("j=$j") //j=1 j=1が出力される
}
println("i=$i") // i=0 i=1が出力される
}
}
3,4行目にfor文があり入れ子になっています。
6行目のcontinueは、内側のfor文の先頭の4行目に戻ります。
continueでラベルを使用する
for文のcontinueでラベルを使用するサンプルです。
fun main() {
label1@ for (i in 0..1) {
for (j in 0..1) {
if (j == 0) {
continue@label1
}
println("j=$j") //出力なし
}
println("i=$i") // 出力なし
}
}
3,6行目にラベル@label1を追加しています。
6行目のラベルから3行目のラベルに戻るので出力なしになります。
関連の記事