こんにちは。
今回は、for文をみてみます。
for文は、条件に応じて繰り返し処理を行います。
ここで、以前学習したリストや配列が役立ってきます🙂
まずは、リストを使ってfor文をみてみましょう。
val animals = listOf(“シマウマ”,”ライオン”,”ゾウ”,”キリン”) // リストから要素を一つずつ取り出す。 for (animal in animals) { // 改行して出力する。 println(animal) }
ポイントは、4行目です。
リストで要素をセットしたanimalsをforで回して、
一つずつanimalにセットしています。
この処理は、リストにセットした要素の回数分行われます。
このforの書き方は、javaとは違った印象ですね。
では、実行して、出力すると・・・。
animalsの要素が順番に出力されています。
別の書き方でやってみましょう。
毎度main関数で実行しているので、
main関数の引き数に値をセットして実行してみましょう。
↓ この処理は、処理実行時にmain関数に渡した値を
for文で回して変数animalにセットしprintlnで出力しています😄
fun main(args: Array<String>) { // main関数の引き数Arrayから要素を一つずつ取り出す。 for (animal in args) { // 改行して出力する。 println(animal) } }
↓ jarファイルに、引き数「馬 羊 フクロウ」をセットして
実行します。
想定通り出力されました✌
次は、リストで「indices」を使ってみます。
「indices」とは、indexの複数系を意味し、リストのデータ型
のプロパティで、配列のインデックスのリストを与えます。
fun main(args: Array<String>) { // indicesを使用して、変数iにインデックスをセットする。 for (i in args.indices) { // iは0番目から表示される。 println(“${i}番目の動物は、${args[i]}!!”) } }
↓ では、実行してみましょう。
0番目という表現が変なので、7行目をちょっと変えましょう。
↓ i+1番目という表記にします。
println(“先頭から${i+1}番目の動物は、${args[i]}です”)
↓ 実行すると、わかりやすい文章になりました😁
マップも使ってみましょう。
↓使い方はリストと同じですが、マップの場合は
11行目にあるようにキーと値を取得できます。
fun main(args: Array<String>) { val shokai = mapOf ( “名前” to “太郎”, “実家” to “福岡”, “年齢” to “20歳”, “趣味” to “テニス” ) // マップから、キーと値を一つずつ取得します。 for ((key,value) in shokai) { // キーと値を出力します。 println(“${key}は、${value}です”) } }
↓ 実行すると・・・。
キーと値が正確に出力されます。
リストや配列では、インデックスを取り出したいときに、
「withIndex」を使用することができます。
4行目は、リストに「withIndex」を使用して、
インデックスと対応する要素を取得しています。
val shuseki = listOf (“一郎”,”太郎”,”龍也”) for ((i,person) in shuseki.withIndex()) { println(“出席番号${i+1}は、${person}です。”) }
↓ 実行します💡
インデックスに紐づいた要素が出力されました。
リストなど集合体と組み合わせることで、
いろいろ応用できますね。
今回は、ここまで🤚
では、また次回。