for
El ciclo for es uno de los más usados en Dart y probablemente en otros lenguajes de programación. Con él podemos ejecutar bloques de código repetidamente. En Dart existen diferentes tipos de ciclos for:
- ciclo for
- ciclo for-in
El ciclo for
La forma clásica de un ciclo for nos permite ejecutar un bloque de código mientras una condición sea verdadera. La sintaxis es la siguiente:
for (inicialización; condición; sentencia) {
// bloque de código que se va a ejecutar
}
- inicialización: Es ejecutada solo una vez, comúnmente es la inicialización de una variable que usaremos para iterar.
- condición: Mientras la condición sea verdadera, el código dentro del ciclo for se va a ejecutar
- sentencia: Es ejecutada cada vez después de que el bloque de código dentro del ciclo for es ejecutado, comúnmente se incrementa la variable inicializada en la expresión 1.
Vamos a escribir un programa que imprima los números del cero al 10 usando el ciclo for. El diagrama de flujo es el siguiente:
- Inicialización: creamos la variable i con valor inicial de 1:
var i = 1
- Condición: vamos a iterar mientras que i sea menor o igual a 10:
i <= 10
- Imprimimos el valor de i:
print( i++ )
- Sentencia: Incrementamos el valor de i en uno usando ++:
i++
Corramos el código en DartPad:
Usar el ciclo for para iterar una lista
Podemos usar un ciclo for para iterar en cada uno de los elementos de una lista. Vamos a escribir un programa para ver cómo hacerlo:
Si tenemos la siguiente lista de carros:
var carros = ['Toyota', 'Mazda', 'Nissan'];
Y queremos imprimir cada uno con un ciclo for. ¿Que tenemos que hacer?
- En la inicialización, creamos una variable con valor inicial en 0 porque el primer elemento en una lista
está en la posición cero:
var i = 0
- En la condición, vamos a ver si i es menor que el tamaño de la lista:
i < carros.length
. Vamos a iterar mientras la condición sea verdadera. - En la sentencia, incrementamos el valor de i en uno:
i++
.
Veamos el código en DartPad:
El ciclo for-in
El ciclo for-in se usa para iterar los elementos de colecciones como las listas. Es muy común usar el ciclo for-in cuando queremos iterar una lista y no nos importa conocer la posición del elemento.
La sintaxis es:
for (var objeto in lista) {
// bloque de código que se va a ejecutar
}
- objeto: Es un objeto de la lista. En cada iteración se asigna un objeto diferente de la lista.
- lista: Lista u objeto iterable que queremos iterar.
Escribamos un programa en DartPad para iterar la lista de carros del ejemplo anterior: