Loops
for, while, do-while, intervalos e controle de fluxo.
For
O loop for itera sobre qualquer coisa que forneça um iterador. Você tem várias opções para realizar loops usando a
estrutura for.
Loop sobre um intervalo de valores
for (index in 1..10) {
// ...
}
Neste caso, o loop será executado para os valores de index de 1 a 10 (inclusive).
Exemplo completo:
fun main() {
for (index in 1..10) {
println(index)
}
}
Loop decrescente
for (index in 10 downTo 1) {
// ...
}
Aqui, o loop será executado para os valores de index de 10 a 1 (inclusive), em ordem decrescente.
Exemplo completo:
fun main() {
for (index in 10 downTo 1) {
println(index)
}
}
Loop com passo personalizado
for (index in 0 until 10 step 2) {
// ...
}
Nesse exemplo, o loop será executado para os valores de index de 0 a 10 (exclusive), com um step de 2. Ou seja, o
valor de index será 0, 2, 4, 6, 8.
Exemplo completo:
fun main() {
for (index in 0 until 10 step 2) {
println(index)
}
}
Loop sobre uma coleção
val values = arrayOf(1, 2, 3)
for (value in values) {
// ...
}
O loop será executado para cada elemento da coleção values.
Exemplo completo:
fun main() {
val values = arrayOf(1, 2, 3)
for (value in values) {
println(value)
}
}
While e do-while
Os loops while e do-while executam repetidamente enquanto a condição for verdadeira. A principal diferença entre
eles é o momento em que a condição é verificada.
While
Verifica a condição antes de executar o corpo do loop. Se a condição for satisfeita, o corpo é executado e, então, a condição é verificada novamente:
var value = 2
while (value > 0) {
println(value)
value--
}
Exemplo completo:
fun main() {
var value = 2
while (value > 0) {
println(value)
value--
}
}
Do-while
Executa o corpo do loop pelo menos uma vez, independentemente da condição, e só depois verifica a condição:
var value = 2
do {
println(value)
value--
} while (value > 0)
Exemplo completo:
fun main() {
var value = 2
do {
println(value)
value--
} while (value > 0)
}