支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡

  • TOP
  •   
  • コラム
  •   
  • Kotlinでfor文を使用する方法

Kotlinのfor文とは?

Kotlinにはfor文というものがあります。Kotlinのfor文も他のプログラミング言語と同じく処理を繰り返すことが出来ます。ここではKotlinのfor文について説明します。

for文の基本構文

for(要素 in 配列/コレクション){
処理内容
}

コレクションとはマップなどを指します。

Kotlinのfor文は配列/コレクションから要素を取り出すことができます。

for文の使用方法

Kotlinでfor文を使用し配列の要素を取り出す方法を紹介します。

fun main(args: Array<String>) {
    val array = arrayOf("名古屋","東京","大阪")
    
    for(tour in array){
        println(tour)
    }
}
実行結果

名古屋
東京
大阪

val array = arrayOf("名古屋","東京","大阪")で3つの要素を持つ配列arrayを作成しています。その後、for文にてarrayの要素繰り返し出力しています。

インデックス番号を取得して使用する方法

fun main(args: Array<String>) {
    val array = arrayOf("名古屋","東京","大阪")
    
    for(i in array.indices){
        println(array[i])
    }
}
実行結果

名古屋
東京
大阪

配列のインデックス番号を取得するには、indicesを使用します。

for(i in array.indices)とすることでインデックス番号を取得し、取得したインデックス番号で配列から要素を出力しています。

インデックス番号と要素を両方取得し使用する方法

fun main(args: Array<String>) {
    val array = arrayOf("名古屋","東京","大阪")
    
    for((index, value) in array.withIndex()){
        println("$index 番: $value")
    }
}
実行結果

0 番: 名古屋 
1 番: 東京 
2 番: 大阪

インデックス番号と要素を取得するにはwithIndexを使用します。for((index, value) in array.withIndex())とすることでindexでインデックス番号、valueで要素を取得し、println("$index 番: $value ")と記述することで、実行結果のように表示しています。

範囲式を指定して使用する方法

KotlinではJavaのようにfor文内に範囲を記述することはできません。そのため範囲式を使用することで範囲を指定し繰り返し処理を行うことが出来ます。

fun main(args: Array<String>) {    
    for(i in 0..5){
        println(i)
    }
}
実行結果

0
1
2
3
4
5

「0..5」とすることで0~5の範囲で順番に処理を行っていきます。もし5未満までにしたい場合はuntilを使用し「0 until 5」と記述します。

カウンター変数をデクリメントしたい場合はdownTo、増分(減分)を変更するにはstepを使用します。これらのキーワードを組み合わせて使用することもできます。

continue文

KotlinでもJavaと同じくcontinue文が使用できます。

fun main(args: Array<String>) {    
   var result =1
   val list = listOf(1,0,10,10)
   for(i in list){
     result *=if(i !==0)i else continue  
    }
    println(result)
}
実行結果

100

このコードではfor文内にresult *=if(i !==0)i else continueと記述しています。そのため、listの要素が0じゃないときにresultに掛けており、要素が0でもcontinueがあるため引き続き処理を行っています。したがって、for文内の処理は1×1×10×10となり実行結果で100が表示されます。

if文を式で使用する場合else文が必要となるため注意が必要です。

break文

continue文と同様break文もKotlinで使用出来ます。

fun main(args: Array<String>) {    
   var result =1
   val list = listOf(1,10,0,10)
   for(i in list){
     result *= if (i !==0)i else break  
    }
    println(result)
}
実行結果

10

このコードではfor文内にresult *=if(i !==0)i else breakと記述しています。そのためlistの要素を順番にresultに掛けていますが、breakが記述さているため要素が0だと処理を中断します。したがって、for文内の処理は1×1×10となり実行結果で10が表示されます。

まとめ

Kotlinのfor文について説明しました。for文は配列やコレクションに対し繰り返し処理を行えるため便利なものとなっています。