- Diferenciar entre los tipos de ciclos disponibles y utilizarlos según el caso
- Tener una noción básica de ciclos en programación
El ciclo for itera sobre todos los elementos de cualquier objeto que provee a un iterator, que son objetos que pueden recorrer secuencialmente sus elementos. Los rangos son un ejemplo.
El ejemplo mas práctico sería imprimir un rango de números del 1 al 5 con esete ciclo:
for (i in 1..5) {
println(i)
}
Regresará los siguientes números:
1,2,3,4,5
Para no contar el último valor, utilizaremos esta notación:
for (i in 1 until 5) {
println(i)
}
Regresará los siguientes números:
1,2,3,4
podemos elegir el paso entre cada ciclo, para contar de 2 en 2 o en otro número:
for (i in 0..10 step 2) {
println(i)
}
Regresará los siguientes números:
0,2,4,6,8,10
Podemos iterar también sobre una lista:
val nombres = listOf(
"Kirby",
"Ness",
"Fox",
"Luigi",
"Mario",
"Link",
"Captain Falcon",
"Samus",
"Pikachu",
"Jigglypuff",
"Donkey Kong",
"Yoshi"
)
for (nombre in nombres){
println(nombre)
}
los iterators cuentan con un método llamado foreach y es equivalente al anterior ciclo for:
nombres.forEach { println(it) }
también podemos parar el ciclo cuando decidamos, por ejemplo:
for (nombre in nombres){
println(nombre)
if(nombre=="Link"){
println("Personaje encontrado!")
break
}
}
por supuesto el loop se detendrá al encontrar el nombre Link.
Los ciclos while mantienen el ciclo hasta que la condición dentro de él se evalua a false
:
var x = 20
while (x > 0) {
println(x)
x--
}