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