+0

Bucles de Código For y While en Java

Duration: 4m 58s



Vamos a ver como hacer bucles en Java con for y while.

Un bucle, como dice el nombre, es repetir una acción o parte de código varias veces. En cada repetición, el bucle realiza una serie de pasos. Este bucle está controlado con una condición que le permitirá continuar repitiendo, o parar.

En Java hay 2 tipos de bucles:

Bucles for

Un bucle for se usa para repetir una acción un número determinado de veces.

Este se utiliza con la palabra clave for seguido de tres instrucciones:

  • Declaración inicial: Esta instrucción correrá antes de iniciar el bucle.
  • Condición para seguir: esta instrucción ha de devolver un boolean. Cuando se cumpla una iteración del bucle, se llamará la comprobación. Mientras sea cierta, el bucle continuará. Si es falsa, el bucle terminará en ese mismo ciclo.
  • Instrucción final: Esta instrucción será llamada al finalizar un ciclo.

Como ejemplo haremos un programa que cuente hasta 10. Vamos a hacer un bucle que vaya desde el 0 hasta el 9, y lo imprima en pantalla:

public class Main {  
  
    public static void main(String[] args) {  
        for (int i = 0; i < 10; i++) {
            System.out.println(i);
        }
    }
    
}

Este bucle imprimirá el valor de i, e i irá incrementando 1 cada vez que termine un ciclo. El primer ciclo i será 0, el segundo ciclo i será 1, y así hasta que i sea menor de 10; cuando acabe el décimo ciclo, i pasará a ser 10, con lo cual la condición i < 10 ya no será cierta, y el bucle terminará.

For-each

La utilidad principal de los bucles for es poder iterar sobre las listas. Suponiendo que tenemos una Array de nombres, podríamos imprimir en pantalla todos con un for-loop

public class Main {  
  
    public static void main(String[] args) {  
        String[] nombres = new String[]{"Pol", "Alex", "Daniel"};
        
        for (int i = 0; i < nombres.length; i++) {
            String nombre = nombres[i];
            
            System.out.println(nombre);
        }
    }
    
}

En este programa estamos declarando la Array nombres, y luego abajo estamos iterando cada posición de la Array con un bucle for, que depende de la longitud de nombres. Aún así, hay una manera más sencilla de iterar sobre cada posición en un Array.

Un bucle for-each tiene una sintaxis algo más sencilla, donde cada iteración ya nos da el valor que buscamos de la posición.

public class Main {  
  
    public static void main(String[] args) {  
        String[] nombres = new String[]{"Pol", "Alex", "Daniel"};
        
        for (String nombre : nombres) {
            System.out.println(nombre);
        }
    }
    
}

Si corremos este programa veremos que el resultado es el mismo que el del programa anterior.

Una clara desventaja de los bucles for-each es que no tenemos la posición donde se encuentra ese valor dentro de la Array.

Bucles while

Un bucle while se usa para ejecutar una acción indefinidamente mientras una condición sea true.

Este se utiliza con la palabra clave while seguido de la condición que determina si el bucle sigue o no.

Como ejemplo vamos a hacer un programa que tomará números y los irá sumando, hasta que el usuario no introduzca más números. Necesitaremos usar un Scanner.

import java.util.Scanner;
 
public class Main {  
  
    public static void main(String[] args) {  
        Scanner scanner = new Scanner(System.in);  
        int sumaTotal = 0;  
          
        while (scanner.hasNextInt()) {  
            sumaTotal += scanner.nextInt();  
        }  
        
        System.out.println(sumaTotal);  
    }  
  
}

En el ejemplo scanner.hasNextInt() devuelve un boolean que será cierto si en la entrada siguen habiendo números.