Bucle Java For con ejemplos

Los bucles en Java se utilizan cuando necesitamos ejecutar repetidamente un bloque de declaraciones. Java for loop proporciona una forma concisa de escribir la estructura del bucle. La declaración for consume la inicialización, la condición y el incremento/decremento en una línea, lo que proporciona una estructura de bucle más corta y fácil de depurar.

Sintaxis:  

for (initialization expr; test expr; update exp)
{
     // body of the loop
     // statements we want to execute
}

Las diversas partes del bucle For son: 

1. Expresión de inicialización: en esta expresión, tenemos que inicializar el contador de bucle a algún valor. 

Ejemplo:  

int i=1;

2. Expresión de prueba: en esta expresión, tenemos que probar la condición. Si la condición se evalúa como verdadera, ejecutaremos el cuerpo del ciclo e iremos a actualizar la expresión. De lo contrario, saldremos del bucle for.

Ejemplo:  

i <= 10

3. Expresión de actualización : después de ejecutar el cuerpo del bucle, esta expresión incrementa/disminuye la variable del bucle en algún valor. 

Ejemplo:  

i++;

¿Cómo se ejecuta un bucle For?  

  1. El control cae en el bucle for. La inicialización está hecha
  2. El flujo salta a Condición
  3. Se prueba la condición. 
    1. Si la Condición da como resultado verdadero, el flujo va al Cuerpo
    2. Si Condition arroja falso, el flujo sale del bucle.
  4. Las declaraciones dentro del cuerpo del bucle se ejecutan.
  5. El flujo va a la Actualización
  6. Se lleva a cabo la actualización y el flujo vuelve al Paso 3
  7. El bucle for ha terminado y el flujo se ha ido al exterior.

Diagrama de flujo para bucle (para flujo de control): 
 

Ejemplo 1: Este programa imprimirá del 1 al 10

Java

/*package whatever //do not write package name here */
// Java program to write a code in for loop from 1 to 10
 
class GFG {
    public static void main(String[] args)
    {
        for (int i = 1; i <= 10; i++) {
            System.out.println(i);
        }
    }
}
Producción

1
2
3
4
5
6
7
8
9
10

Ejemplo 2: Este programa intentará imprimir «Hello World» 5 veces.  

Java

// Java program to illustrate for loop
class forLoopDemo {
    public static void main(String args[])
    {
        // Writing a for loop
        // to print Hello World 5 times
        for (int i = 1; i <= 5; i++)
            System.out.println("Hello World");
    }
}
Producción

Hello World
Hello World
Hello World
Hello World
Hello World

Complejidad de tiempo: O(1), Espacio auxiliar: O(1)

Ejemplo de ejecución en seco 1: El programa se ejecutará de la siguiente manera. 

1. Program starts.
2. i is initialized with value 1.
3. Condition is checked. 1 <= 5 yields true.
  3.a) "Hello World" gets printed 1st time.
  3.b) Updation is done. Now i = 2.
4. Condition is checked. 2 <= 5 yields true.
  4.a) "Hello World" gets printed 2nd time.
  4.b) Updation is done. Now i = 3.
5. Condition is checked. 3 <= 5 yields true.
  5.a) "Hello World" gets printed 3rd time
  5.b) Updation is done. Now i = 4.
6. Condition is checked. 4 <= 5 yields true.
  6.a) "Hello World" gets printed 4th time
  6.b) Updation is done. Now i = 5.
7. Condition is checked. 5 <= 5 yields true.
  7.a) "Hello World" gets printed 5th time
  7.b) Updation is done. Now i = 6.
8. Condition is checked. 6 <= 5 yields false.
9. Flow goes outside the loop. Program terminates.

Ejemplo 3: El siguiente programa imprime la suma de x que va de 1 a 20.  

Java

// Java program to illustrate for loop.
class forLoopDemo {
    public static void main(String args[])
    {
        int sum = 0;
 
        // for loop begins
        // and runs till x <= 20
        for (int x = 1; x <= 20; x++) {
            sum = sum + x;
        }
        System.out.println("Sum: " + sum);
    }
}
Producción

Sum: 210

Bucle For mejorado o bucle For-Each de Java

Java también incluye otra versión de bucle for introducida en Java 5. El bucle for mejorado proporciona una forma más sencilla de iterar a través de los elementos de una colección o array. Es inflexible y debe usarse solo cuando sea necesario iterar a través de los elementos de manera secuencial sin conocer el índice del elemento procesado actualmente.

Nota: El objeto/variable es inmutable cuando se usa el bucle for mejorado, es decir, garantiza que los valores de la array no se puedan modificar, por lo que se puede decir que es un bucle de solo lectura en el que no puede actualizar los valores en lugar de otros bucles donde se pueden modificar los valores. 

Sintaxis: 

for (T element:Collection obj/array)
{
    // loop body
    // statement(s)
}

Tomemos un ejemplo para demostrar cómo se puede usar el bucle for mejorado para simplificar el trabajo. Supongamos que hay una array de nombres y queremos imprimir todos los nombres en esa array. Veamos la diferencia entre estos dos ejemplos mediante esta sencilla implementación: 

Java

// Java program to illustrate enhanced for loop
 
public class enhancedforloop {
 
    public static void main(String args[])
    {
        String array[] = { "Ron", "Harry", "Hermoine" };
 
        // enhanced for loop
        for (String x : array) {
            System.out.println(x);
        }
 
        /* for loop for same function
        for (int i = 0; i < array.length; i++)
        {
            System.out.println(array[i]);
        }
        */
    }
}
Producción

Ron
Harry
Hermoine

Complejidad de tiempo: O(1), Espacio auxiliar: O(1)

Recomendación: Use esta forma de declaración en lugar de la forma general siempre que sea posible. (según el documento JAVA) 

JAVA infinito para bucle:

Este es un bucle infinito ya que la condición nunca devolvería falso. El paso de inicialización es configurar el valor de la variable i a 1, ya que estamos incrementando el valor de i, siempre sería mayor que 1, por lo que nunca devolvería falso. Esto eventualmente conduciría a la condición de bucle infinito.

Ejemplo: 

Java

// Java infinite loop
class GFG {
    public static void main(String args[])
    {
        for (int i = 1; i >= 1; i++) {
            System.out.println("Infinite Loop " + i);
        }
    }
}

Hay otro método para llamar al Infinite for loop

Si usa dos puntos y comas ;; en el ciclo for, será infinitivo for loop.

Sintaxis: 

for(;;){  
//code to be executed  
}  

Ejemplo:

Java

public class GFG {
 
    public static void main(String[] args)
    {
        for (;;) {
            System.out.println("infinitive loop");
        }
    }
}

  1. tttLoops en Java
  2. bucle for en Java | Puntos importantes
  3. Comprender los bucles for en Java
  4. Bucle while de Java con ejemplos
  5. Bucle do-while de Java con ejemplos
  6. Bucle for-each en Java
  7. Diferencia entre bucle for y while en C, C++, Java
  8. Diferencia entre bucle for y do-while en C, C++, Java

Publicación traducida automáticamente

Artículo escrito por Chinmoy Lenka y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *