ループでの範囲
範囲を使って効率よく反復します
「ループでの範囲」はCoddyKit上の無料Kotlin Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはKotlin Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Kotlin Academyコースには全4レッスンが含まれています。
範囲でループを動かす
範囲とプログレッションは、Kotlinでforループを動かす自然な方法です。
C言語風のfor(i=0; i<n; i++)はなく、代わりに範囲を反復処理します。
基本的なカウントループ
両端を含む範囲をループして、開始値から終了値までカウントします。
変数には各値が順番に代入されます。
fun main() {
for (i in 1..5) {
print(i.toString() + " ")
}
println()
}untilを使った上限を含まないループ
0始まりでカウントする場合、untilは上限の1つ手前で停止します。
既知の回数だけループする場合の標準的な方法です。
fun main() {
for (i in 0 until 4) {
print(i.toString() + " ")
}
println()
}インデックスでループする
indicesを使うと、コレクションの有効な位置をループできます。
これは0 until sizeの短縮形です。
fun main() {
val items = listOf("x", "y", "z")
for (i in items.indices) {
println(i.toString() + " -> " + items[i])
}
}カウントダウンする
downToとループを組み合わせると、カウントダウンに適した逆方向のループを作成できます。
fun main() {
for (i in 5 downTo 1) {
print(i.toString() + " ")
}
println("liftoff")
}stepで進む
stepを追加すると、1つおきの値のように、カスタムの増分で反復処理できます。
fun main() {
for (i in 0..20 step 5) {
print(i.toString() + " ")
}
println()
}文字をループする
文字の範囲を使うと、文字や数字を直接ループできます。
fun main() {
for (c in 'a'..'e') {
print(c)
}
println()
}値と位置のためのwithIndex
インデックスと要素の両方が必要な場合、withIndexでそれらを組み合わせられます。
ループのヘッダーで、そのペアを直接分解できます。
fun main() {
val items = listOf("a", "b", "c")
for ((index, value) in items.withIndex()) {
println(index.toString() + ": " + value)
}
}範囲のネストしたループ
範囲を使ったループをネストすると、グリッドや表を作成できます。
2つの変数の組み合わせがすべて処理されます。
fun main() {
for (row in 1..3) {
for (col in 1..3) {
print((row * col).toString() + "\t")
}
println()
}
}ループで累積する
範囲を使ったループは、累計や合計のように、結果を蓄積する処理に適しています。
fun main() {
var sum = 0
for (i in 1..100) {
sum += i
}
println(sum)
}まとめ
範囲を使うと、ループを簡潔で表現力豊かに書けます。
- カウントには
..とuntilを使います - コレクションの位置には
indicesを使います - 方向と刻み幅の指定には
downToとstepを使います - 値と位置の組み合わせには
withIndexを使います
fun main() {
val data = listOf(10, 20, 30)
for (i in data.indices) {
println("item " + i + " = " + data[i])
}
}理解度チェック
ループでの範囲の使い方についての理解度を確認しましょう。
振り返り
範囲を使ったループの方法を学びました。
- カウントには
..、until、indicesを使います - 方向と刻み幅の指定には
downToとstepを使います - インデックスと値の組み合わせには
withIndexを使います
次は、文字の範囲とカスタム範囲型について学びます。
よくある質問
「ループでの範囲」レッスンは無料ですか?
はい。「ループでの範囲」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Kotlin Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Kotlin Academyコースには全4レッスンが含まれています。
「ループでの範囲」で何を学びますか?
範囲を使って効率よく反復します ブラウザで直接実行するハンズオンコードでKotlin Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Kotlin Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのKotlin Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「ループでの範囲」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このKotlin Academyレッスンでコードを書いて実行できますか?
はい。すべてのKotlin Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 範囲演算子
- stepとdownTo
- ループでの範囲
- Charとカスタム範囲