Cómo escribir un bucle for en Java »Wiki Ùtil

Los bucles son herramientas de programación muy poderosas que completarán un conjunto de instrucciones hasta que se cumpla una condición. Son muy útiles y deberían ser uno de los primeros conceptos de programación que aprenda. Hay muchos tipos diferentes de bucles, pero los bucles for son posiblemente uno de los bucles más útiles.

El bucle for en Java

Los bucles for continuarán ejecutando un bloque de código hasta que se cumpla una condición. Es importante tener en cuenta que un ciclo for comprobará la condición al principio del ciclo, no al final. Esto significa que si se cumple la condición, el ciclo no se iniciará.

La sintaxis de bucle for es similar en todos los lenguajes de programación. Entonces, si ha creado un bucle for en otro lenguaje de programación, un bucle for de Java le resultará familiar. Sin embargo, si no está familiarizado en absoluto con Java, se recomienda que lea un tutorial para principiantes antes de aprender temas avanzados como bucles for.

 for([statement1]; [condition]; [statement2]){
//code to execute each loop
}

La palabra clave for indica un bucle for. La condición que determina cuánto tiempo continuará el bucle se encuentra entre los corchetes. La primera instrucción se ejecuta una vez cuando se inicia el ciclo for. La condición define cuándo debe detenerse el bucle. La segunda instrucción se ejecuta al final de cada ciclo. El punto y coma marcan el final de la sentencia 1 y la condición. Normalmente, las declaraciones se utilizan para crear un contador y la condición detiene el ciclo una vez que el contador alcanza un número específico. Finalmente, el código que se ejecuta en cada bucle se coloca entre llaves.

 public class Main{
public static void main(String[] args) {
for(int i = 1; i < 4; i++){
System.out.print(i);
}
}
}
//Output: 123

En el ejemplo anterior, el bucle for imprime el valor de i . La palabra clave para inicializa el bucle. La variable i se establece inicialmente en 1. La condición comprueba si i es cuatro o mayor. Este no es el caso, por lo que nuestro ciclo se ejecuta. El código de ciclo imprime el valor de i , que todavía es 1 en este punto. Una vez que se completa el código de ciclo, i se incrementa en uno y el ciclo comienza de nuevo. Al final del tercer ciclo, i aumenta a cuatro. Cuando comienza el siguiente ciclo, se cumple nuestra condición, por lo que el ciclo se detiene.

Relacionado: Conceptos básicos de Java que debe aprender al comenzar

Anidado para bucle

Una vez que aprenda a usar un bucle for, debería intentar crear un bucle for anidado. Esto es cuando tienes un bucle for dentro de otro bucle for. Ésta es una técnica avanzada porque puede resultar difícil comprender cómo interactuarán los dos bucles. Una buena forma de visualizar cómo funcionan los bucles for anidados es crear el siguiente patrón con un bucle for anidado.

 *
**
***

Para crear esto, necesitaremos un bucle para controlar cuántas estrellas se imprimen en cada línea y otro bucle para controlar cuántas líneas crear. Cuando no está familiarizado con los bucles for anidados, puede resultar difícil determinar qué bucle es el bucle interno. En este caso, el bucle que imprime las estrellas es el bucle interior. Necesitamos que ese bucle se ejecute cada vez que se crea una nueva línea.

Al crear un bucle anidado, tenga cuidado al elegir el nombre de sus variables de contador. Aunque a menudo los programadores usan un contador i genérico, el uso de contadores genéricos se vuelve confuso cuando interactúan varios bucles.

 for(int lineCounter = 1; lineCounter < 4; lineCounter++){
for(int starCounter = 1; starCounter <= lineCounter; starCounter++){
System.out.print("*");
}
System.out.print("n");
}

Repasemos este ejemplo para comprender mejor cómo funciona. Nuestro primer bucle es contar cuántas líneas hacemos. Después de que el ciclo se ejecute tres veces, se detendrá. El siguiente ciclo es un poco más complejo. Este bucle controla cuántas estrellas se imprimen en cada línea. En nuestro patrón, queremos el mismo número de estrellas que el número de línea. La primera línea tiene una estrella, la segunda dos y la tercera tres. Entonces, queremos que ese bucle imprima tantas estrellas como nuestro contador de línea actual. Una vez completado nuestro ciclo de estrella, el ciclo de línea crea una nueva línea imprimiendo n , que es el comando para una nueva línea.

Bucles infinitos

Uno de los peligros de codificar cualquier tipo de bucle es que puede crear accidentalmente un bucle infinito. Estos son bucles que nunca se detienen. Aunque hay casos en los que se necesita un bucle infinito, en general, se crean por accidente cuando la condición del bucle no se planifica cuidadosamente. En estos casos, el programa continuará ejecutándose hasta que lo fuerce a cerrarse.

Para crear un bucle infinito, puede utilizar la siguiente sintaxis:

 for(;;){
//code that never stops looping
}

Relacionado: Sitios web y aplicaciones que pueden ayudar al aprender programación en Java

Uso de un bucle for con una matriz

Una forma común de usar un bucle for es iterar a través de una matriz. Por ejemplo, si desea imprimir todas las cadenas en una matriz, no puede simplemente decir

 System.out.print([array]);

Este comando imprimiría información sobre la matriz, no el contenido de la matriz. Para imprimir el contenido de la matriz, debe imprimir cada elemento individual en la matriz. Esto llevaría mucho tiempo codificar, pero podría crear un bucle for para pasar por cada elemento.

 String[] words = {"Hello", " ", "World", "!"};

for(int i = 0; i < words.length; i ++){
System.out.print(words[i]);
}

Recuerde, las posiciones de la matriz comienzan en cero, no en uno, por lo que queremos que nuestro ciclo comience en cero. Nuestro primer bucle imprimirá Hola , el segundo bucle imprimirá un espacio, y así sucesivamente. Después del cuarto ciclo, nuestro contador se incrementará a cuatro, que no es menor que la longitud de la matriz, que también es cuatro. Esto detendrá el bucle.

Salida:

 Hello World!

Para cada bucle

Aunque puede usar un bucle for para iterar sobre una matriz, es más fácil usar un bucle for-each. Estos bucles están diseñados específicamente para matrices. Una para cada bucle pasará por cada elemento de una matriz y ejecutará el código. Los bucles for-each tienen una sintaxis ligeramente diferente. La palabra clave para todavía se usa, pero no se especifica una condición.

 for([dataType] [arrayElement] : [array]){
//code to be executed
}

Nuestro ejemplo anterior se puede reescribir como un bucle for-each usando esta sintaxis:

 String[] words = {"Hello", " ", "World", "!"};

for(String word : words){
System.out.print(word);
}

El bucle se inicia con la palabra clave for . Luego especificamos que los datos de nuestra matriz son cadenas. A continuación, elegimos un nombre de variable para referirnos a los elementos de la matriz a medida que recorremos el ciclo. En este caso, usamos word . A esto le siguen dos puntos y el nombre de la matriz por la que queremos iterar. Ahora, dentro de nuestro ciclo, solo tenemos que usar la palabra variable para referirnos a cada elemento de la matriz.

Cuándo usar un bucle for

Los bucles For son excelentes herramientas que pueden ahorrarle mucho código. Son el mejor tipo de bucle para usar cuando sabe exactamente cuántas veces desea que se ejecute su bucle. Incluso puede aumentar la complejidad de los bucles for al anidarlos. Los bucles for anidados son particularmente útiles cuando se trabaja con matrices multidimensionales. Los bucles for son fáciles de aprender y una habilidad importante para los principiantes. Esta técnica seguramente le evitará codificar código repetitivo innecesario.