Kotlin for迴圈


Kotlin for迴圈用於迭代程式的一部分幾次。 它遍歷陣列,範圍,集合或提供疊代的任何內容。 Kotlin for迴圈等同於C#等語言中的foreach迴圈。

Kotlin中for迴圈的語法如下:

for (item in collection){  
    // 迴圈的主體
}

疊代陣列

下面來看一個疊代陣列元素的簡單例子。

fun main(args : Array<String>) {  
    val marks = arrayOf(80,85,60,90,70)  
    for(item in marks){  
        println(item)  
    }  
}

執行上面範例程式碼,得到以下結果 -

80
85
60
90
70

如果for迴圈體僅包含一行語句,則花括號{}可以省略。

fun main(args : Array<String>) {  
    val marks = arrayOf(80,85,60,90,70)  
    for(item in marks)  
        println(item)  
}

執行上面範例程式碼,得到以下結果 -

80
85
60
90
70

基於陣列的索引(索引)疊代陣列的元素。 例如:

fun main(args : Array<String>) {  

    val marks = arrayOf(80,85,60,90,70)  
    for(item in marks.indices)  
       println("marks[$item]: "+ marks[item])  
}

執行上面範例程式碼,得到以下結果 -

marks[0]: 80
marks[1]: 85
marks[2]: 60
marks[3]: 90
marks[4]: 70

疊代範圍

下面來看一個疊代範圍元素的例子。

fun main(args : Array<String>) {

    print("for (i in 1..5) print(i) = ")
    for (i in 1..5) print(i)
    println()
    print("for (i in 5..1) print(i) = ")
    for (i in 5..1) print(i)             // prints nothing
    println()
    print("for (i in 5 downTo 1) print(i) = ")
    for (i in 5 downTo 1) print(i)
    println()
    print("for (i in 5 downTo 2) print(i) = ")
    for (i in 5 downTo 2) print(i)
    println()
    print("for (i in 1..5 step 2) print(i) = ")
    for (i in 1..5 step 2) print(i)
    println()
    print("for (i in 5 downTo 1 step 2) print(i) = ")
    for (i in 5 downTo 1 step 2) print(i)
}

執行上面範例程式碼,得到以下結果 -

for (i in 1..5) print(i) = 12345
for (i in 5..1) print(i) = 
for (i in 5 downTo 1) print(i) = 54321
for (i in 5 downTo 2) print(i) = 5432
for (i in 1..5 step 2) print(i) = 135
for (i in 5 downTo 1 step 2) print(i) = 531