Kotlin for 循环
在 Kotlin 中, for循环相当于 C# 等其他语言的foreach循环。这里的 for 循环用于遍历任何提供迭代器的数据结构。它的使用方式与其他编程语言(如Java或 C)的 for 循环非常不同。
Kotlin 中for 循环的语法:
for(item in collection) {
// code to execute
}
在 Kotlin 中,for 循环用于遍历以下内容,因为它们都提供了迭代器。
- 范围
- 大批
- 细绳
- 收藏
使用 for 循环遍历范围-
您可以遍历Range ,因为它提供了迭代器。有很多方法可以遍历 Range。 for 循环中用于检查值的in运算符是否在 Range 内。
下面的程序是以不同方式遍历范围的示例,其中是运算符检查范围中的值。如果值介于范围之间,则返回 true 并打印该值。
- 遍历范围以打印值:
fun main(args: Array
) { for (i in 1..6) { print("$i ") } } 输出:
1 2 3 4 5 6
- 使用 step-3 遍历范围以跳转:
fun main(args: Array
) { for (i in 1..10 step 3) { print("$i ") } } 输出:
1 4 7 10
- 如果不使用DownTo ,您将无法从上到下遍历 Range:
fun main(args: Array
) { for (i in 5..1) { print("$i ") } println("It prints nothing") } 输出:
It prints nothing
- 使用downTo 从上到下遍历 Range:
fun main(args: Array
) { for (i in 5 downTo 1) { print("$i ") } } 输出:
5 4 3 2 1
- 使用downTo和step 3从上到下迭代 Range:
fun main(args: Array
) { for (i in 10 downTo 1 step 3) { print("$i ") } } 输出:
10 7 4 1
使用 for 循环遍历数组–
数组是包含相同数据类型的数据结构,如整数或字符串。可以使用 for 循环遍历数组,因为它还提供了迭代器。每个数组都有一个起始索引,默认为 0。
有以下可以遍历数组:
- 不使用 Index 属性
- 使用索引属性
- 使用 withIndex 库函数
- 不使用索引属性遍历数组:
fun main(args: Array
) { var numbers = arrayOf(1,2,3,4,5,6,7,8,9,10) for (num in numbers){ if(num%2 == 0){ print("$num ") } } } 输出:
2 4 6 8 10
- 使用 index 属性遍历数组:
fun main(args: Array
) { var planets = arrayOf("Earth", "Mars", "Venus", "Jupiter", "Saturn") for (i in planets.indices) { println(planets[i]) } } 输出:
Earth Mars Venus Jupiter Saturn
- 使用
withIndex()
库函数遍历数组:fun main(args: Array
) { var planets = arrayOf("Earth", "Mars", "Venus", "Jupiter", "Saturn") for ((index,value) in planets.withIndex()) { println("Element at $index th index is $value") } } 输出:
Element at 0 th index is Earth Element at 1 th index is Mars Element at 2 th index is Venus Element at 3 th index is Jupiter Element at 4 th index is Saturn
使用 for 循环遍历字符串–
可以使用 for 循环遍历字符串,因为它还提供了迭代器。
遍历字符串有以下几种方式:
- 不使用 Index 属性
- 使用索引属性
- 使用 withIndex 库函数
fun main(args: Array
) { var name = "Geeks" var name2 = "forGeeks" // traversing string without using index property for (alphabet in name) print("$alphabet ") // traversing string with using index property for (i in name2.indices) print(name2[i]+" ") println(" ") // traversing string using withIndex() library function for ((index,value) in name.withIndex()) println("Element at $index th index is $value") } 输出:
G e e k s f o r G e e k s Element at 0 th index is G Element at 1 th index is e Element at 2 th index is e Element at 3 th index is k Element at 4 th index is s
使用 for 循环遍历集合–
您可以使用 for 循环遍历集合。集合列表、地图和集合三种类型。
在listOf()
函数中,我们可以同时传递不同的数据类型。下面是使用 for 循环遍历列表的程序。
fun main(args: Array
) { // read only, fix-size var collection = listOf(1,2,3,"listOf", "mapOf", "setOf") for (element in collection) { println(element) } } 输出:
1 2 3 listOf mapOf setOf
在评论中写代码?请使用 ide.geeksforgeeks.org,生成链接并在此处分享链接。