3.9.1. For cycle #
for
loop can provide an iterator for any
iterator
syntax isas follows:
for (item in collection) print(item)
The body of the loop can be a code block:
for (item: Int in ints) {
// ……
}
As mentioned above
for
you can loop through any object that provides aniterator.
If you want to traverse an array or an
list
you can do this:
for (i in array.indices) {
print(array[i])
}
Note that this “traversal on the interval” is compiled into an optimized implementation without creating additional objects.
Or you can use library functions
withIndex
:
for ((index, value) in array.withIndex()) {
println("the element at $index is $value")
}
Example #
Iterate over the collection:
fun main(args: Array<String>) {
val items = listOf("apple", "banana", "kiwi")
for (item in items) {
println(item)
}
for (index in items.indices) {
println("item at $index is ${items[index]}")
}
}
Output result:
apple
banana
kiwi
item at 0 is apple
item at 1 is banana
item at 2 is kiwi
3.9.2. While and do…while cycle #
while
is the most basic loop, and its structure is:
While (Boolean expression) {
//Circular Content
}
do…while
loop for
while
statement, you cannot enter a loop if the condition is not met. But sometimes we need to execute at least once, even if the conditions are not met.
do…while
cyclic and
while
cycle is similar, except that
do…while
loop is executed at least once.
do {
//code statement
}While (Boolean expression);
Example #
fun main(args: Array<String>) {
println("----while use-----")
var x = 5
while (x > 0) {
println( x--)
}
println("----do...while use-----")
var y = 5
do {
println(y--)
} while(y>0)
}