Bucles en Java

Cuando sabes exactamente cuántas veces quieres recorrer un bloque de código, use un bucle:

Sintaxis

  for (instrucción 1; instrucción 2; instrucción 3) {
    // Bloque de código a ejecutar        
  }      

La instrucción 1 se ejecuta (una vez) antes de la ejecución del bloque de código.

La instrucción 2 define la condición para ejecutar el bloque de código.

La instrucción 3 se ejecuta (cada vez) después de que se haya ejecutado el bloque de código.

El siguiente ejemplo imprimirá los números del 0 al 4:

Ejemplo 1

  for (int i = 0; i < 5; i++) {
    System.out.println(i);
  }	     

Quiero intentarlo


  Ejemplo explicado

La instrucción 1 establece una variable antes de que comience el bucle (int i = 0).

La instrucción 2 define la condición para que se ejecute el bucle (i debe ser menor que 5). Si la condición es verdadera, el bucle comenzará de nuevo, si es falso, El bucle terminará.

La instrucción 3 aumenta un valor (i++) cada vez que el bloque de código del bucle tiene han sido ejecutados.

  Ejemplo 2

Este ejemplo solo imprimirá valores pares entre 0 y 10:

  for (int i = 0; i <= 10; i = i + 2) {
    System.out.println(i);
  }     

Quiero intentarlo


  Bucles anidados

También es posible colocar un bucle dentro de otro bucle. Esto se denomina bucle anidado.

El "bucle interno" se ejecutará una vez para cada iteración del "bucle exterior":

Ejemplo 3

  // Bucle exterior
  for (int i = 1; i <= 2; i++) {
    System.out.println("Exterior: " + i); // ejecuta 2 veces
    
    // Bucle interno
    for (int j = 1; j <= 3; j++) {
      System.out.println(" Interior: " + j); // ejecuta 2 veces (2 * 3)
    }
  }            

Quiero intentarlo


  Bucle For-each

También hay un bucle "para cada uno", que se utiliza exclusivamente para recorrer los elementos de una matriz:

Sintaxis

  for (tipo variableName : arrayName) {
    // código de bloque a ejecutar
  }      

En el ejemplo siguiente se generan todos los elementos de la matriz cars, utilizando un bucle "for-each":

Ejemplo 4

  String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
  for (String i : cars) {
    System.out.println(i);
  }  

Quiero intentarlo