こんにちは。
今回は、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}です。”)
}
↓ 実行します💡
インデックスに紐づいた要素が出力されました。
リストなど集合体と組み合わせることで、
いろいろ応用できますね。
今回は、ここまで🤚
では、また次回。
コメント