科特林 for loop
在 Kotlin 中,循环的相当于 C#等其他语言的 foreach 循环。这里 for 循环用于遍历任何提供迭代器的数据结构。它的用法与其他编程语言(如 Java 或 C)的循环非常不同。
柯特林中循环的语法:
for(item in collection) {
// code to execute
}
在 Kotlin 中,for 循环用于迭代以下内容,因为它们都提供了迭代器。
- 范围
- 排列
- 线
- 收藏品
使用 for 循环遍历范围
您可以遍历范围,因为它提供了迭代器。有许多方法可以迭代范围。用于 for 循环检查值的操作符中的是否在范围内。 以下程序是以不同方式遍历范围的示例,中的是操作员检查范围内的值。如果值在范围之间,则返回 true 并打印该值。
-
Iterate through range to print the values:
kt fun main(args: Array<String>) { for (i in 1..6) { print("$i ") } }
输出:
kt 1 2 3 4 5 6
-
Iterate through range to jump using step-3 :
kt fun main(args: Array<String>) { for (i in 1..10 step 3) { print("$i ") } }
输出:
kt 1 4 7 10
-
You can not iterate through Range from top to down without using DownTo :
kt fun main(args: Array<String>) { for (i in 5..1) { print("$i ") } println("It prints nothing") }
输出:
kt It prints nothing
-
Iterate through Range from top to down with using downTo :
kt fun main(args: Array<String>) { for (i in 5 downTo 1) { print("$i ") } }
输出:
kt 5 4 3 2 1
-
Iterate through Range from top to down with using downTo and step 3:
kt fun main(args: Array<String>) { for (i in 10 downTo 1 step 3) { print("$i ") } }
输出:
kt 10 7 4 1
使用 for 循环遍历数组
数组是一种包含相同数据类型(如整数或字符串)的数据结构。可以使用 for 循环遍历数组,因为它还提供了迭代器。每个数组都有一个起始索引,默认情况下,它是 0。
您可以遍历以下数组:
- 不使用索引属性
- 使用索引属性
- 与索引库函数一起使用
-
Traverse an array without using index property:
```kt 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 ") } } } ```
输出:
kt 2 4 6 8 10
-
Traverse an array with using index property:
```kt fun main(args: Array
) { var planets = arrayOf("Earth", "Mars", "Venus", "Jupiter", "Saturn")
for (i in planets.indices) { println(planets[i]) } } ```
输出:
```kt Earth Mars Venus Jupiter Saturn
```
-
Traverse an array using
withIndex()
Library Function:```kt 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") } } ```
输出:
```kt 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 循环遍历字符串,因为它还提供了迭代器。
有以下方法可以遍历字符串:
- 不使用索引属性
- 使用索引属性
- 与索引库函数一起使用
fun main(args: Array<String>) {
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 循环遍历集合。有三种类型的收藏列表,地图和集合。
在listOf()
功能中我们可以同时传递不同的数据类型。
下面是使用 for 循环遍历列表的程序。
fun main(args: Array<String>) {
// 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