CodeGym/Blog Java/Random-ES/Java para bucle
Autor
Milan Vucic
Programming Tutor at Codementor.io

Java para bucle

Publicado en el grupo Random-ES
Una vez, Mark Zuckerberg señaló que las computadoras son realmente buenas en la repetición de comandos. No es sencillo para un ser humano, nos estamos cansando de repetir lo mismo muchas veces seguidas, pero una computadora puede hacerlo millones y billones de veces y nunca aburrirse. Si intentas enviar saludos a todos los usuarios de Facebook, no hay humano que tenga días suficientes para hacerlo. Sin embargo, puede hacer que una computadora resuelva esta tarea escribiendo unas pocas líneas de código. Así es como funcionan los bucles. Nos permiten no repetir las mismas acciones rutinarias. El bucle más popular en Java es el llamado bucle definido o bucle for.

¿Cómo escribir un bucle for en Java? Para bucle en general

For loop ejecuta algunas declaraciones por un cierto número de veces. Por ejemplo, escribir cincuenta veces “No debo ser tan, ho-ho, ho” o enviar invitaciones a todos tus amigos son tareas típicas de este tipo de bucle. La sintaxis de la versión más común de bucle for:
for ([counter initialization]; [checking conditions]; [changing of the counter])
{
    //  statements
}
La expresión de inicialización se ejecuta una vez, luego se evalúa la condición, que debe ser una expresión booleana.
  • Cuando comienza el bucle, se ejecutan las inicializaciones.
  • Cuando las condiciones se evalúan como falsas, nuestro ciclo detiene su trabajo.
El contador está cambiando, generalmente el incremento (o decremento) ocurre después de cada iteración a través del ciclo. Puede omitir cualquiera de las tres expresiones de bucle (inicialización, condición de verificación, cambio del contador). La condición del bucle se comprueba antes del siguiente paso del bucle. Si la condición es falsa, el programa sale del bucle y continúa con la instrucción que sigue a la construcción for. Aquí tenemos un diagrama de bloques del bucle for. Para bucle en Java - 2

Cómo usar el bucle for en Java. Ejemplo sencillo.

Aquí hay un ejemplo particular de bucle for de Java. Escribamos diez veces "¡Hola!" Cadena cada vez que sería de la nueva línea con un número de esta línea. Deberíamos obtener la siguiente salida:
  1. ¡Hola!
  2. ¡Hola!
  3. ¡Hola!
  4. ¡Hola!
  5. ¡Hola!
  6. ¡Hola!
  7. ¡Hola!
  8. ¡Hola!
  9. ¡Hola!
  10. ¡Hola!
Aquí está nuestro programa Java que resuelve este problema:
public class ForExample {
   public static void main(String[] args) {
       for (int i = 0; i < 10; i++) {
           System.out.println(i + 1 + ". Hello!");
       }
   }
}

¿Cómo funciona?

Paso 1. Contador i = 0. El bucle verifica nuestra condición, i << 10, por lo tanto, se ejecutan las sentencias del bucle. Imprime la frase "1. ¡Hola!". 1 es una cadena i + 1 (porque contamos desde cero, pero la primera línea sigue siendo la primera). El contador i se incrementa. Ahora, i = 1. Paso 2. Contador i = 1. i < 10, así que tenemos una frase "2. ¡Hola!" e i + 1 = 2. … Paso 10. Contador i = 9, tenemos "10. ¡Hola!" e i se incrementa a 10. Paso 11. Contador i = 10. i < 10 ? No, es falso. Por lo tanto, el bucle finaliza. Para bucle en Java - 3

Bucle while y bucle for: diferencias y similitudes

En Java, el bucle indefinido o el bucle while se ejecutan continuamente si la condición booleana se cumple. La sintaxis del ciclo while:
while (boolean condition)
       {
            loop statements...
       }
Muy a menudo, puede elegir qué bucle desea usar. A veces están muy cerca y puedes usar ambos. Por ejemplo, aquí está el código para la misma tarea (escribiendo diez veces "¡Hola!" con un número de la línea) escrito con ciclo while:
public class ForAndForEach {
   public static void main(String[] args) {
       int j = 0;  //  we use the counter this way
       while (j < 10) {
           System.out.println(j + 1 + ". Hello!");
           j++;
       }
   }
}
Sin embargo, a los programadores profesionales no les gusta mucho el ciclo while y, siempre que sea posible, intenten usar el ciclo for.
PARA MIENTRAS

Usamos el bucle for si ya conocemos el número de iteraciones.

Usamos while loop si no sabemos exactamente el número de iteraciones.

La inicialización, la verificación de condiciones y el cambio de contador ya están integrados en la sintaxis de un bucle

Inicialización y comprobación de condiciones dentro del bucle. También puede usar el contador en las declaraciones.

Bucle infinito para:

for(;;){
	System.out.println("working...");
}

Bucle infinito mientras:

while(true){
	System.out.println("working...");
}

Cómo salir de un bucle for en Java

Por lo general, un ciclo for se ejecuta como un flujo y la forma natural de salir de un ciclo es cuando una condición toma un valor falso. Sin embargo, hay dos instrucciones de control que le permiten salir del ciclo antes de obtener el valor falso de una condición: romper y continuar.
  • break permite salir del cuerpo del bucle actual como si la condición del bucle se hubiera evaluado como falsa.
  • continue hace que el ciclo salte al siguiente paso (iterando el contador) sin ejecutar las instrucciones.
Resolvamos el siguiente problema usando romper y continuar. Tenemos una serie de nombres y saludamos a todos los de esta serie excepto a los extraños. Entonces, si nos encontramos con una cadena "Extraño" durante nuestro ciclo, salimos de él (vete y para para saludar a alguien más).
public class ForBreakExample {
   public static void main(String[] args) {
       String[] names = {"Mike", "Dustin", "Stranger", "Lucas", "Will"};
       for (int i = 0; i < names.length; i++) {
//  how to break out of a for loop, java: check if we have any "Stranger" in  //  our array
if (names[i].equals("Stranger")) {
               System.out.println("I don't chat with strangers");
               break;
           }
           System.out.println("Hello," + names[i]);
       }
   }
}
El resultado de la ejecución de nuestro programa es:
Hello,Mike
Hello,Dustin
I don't chat with strangers
¿Ver? Huimos del bucle antes de saludar a Lucas y Will. Ahora usemos continuar, solo para ignorar a un "Extraño" pero permanecer dentro del ciclo para saludar a otros amigos.
public class ForContinueExample {
   public static void main(String[] args) {
       String[] names = {"Mike", "Dustin", "Stranger", "Lucas", "Will"};
       for (int i = 0; i < names.length; i++) {
           if (names[i].equals("Stranger")) {
               System.out.println("I don't chat with strangers");
               continue;
           }
           System.out.println("Hello," + names[i]);
       }
   }
}
El resultado es:
Hello,Mike
Hello,Dustin
I don't chat with strangers
Hello,Lucas
Hello,Will
¡Excelente! Saludamos a todos los amigos, pero no hablamos con un extraño.

Versión mejorada de for loop o for-each

For-each es un tipo de bucle for que se usa cuando necesita procesar todos los elementos de una matriz o colección. En realidad, la misma frase para cada uno no se usa en este ciclo. La sintaxis es la siguiente:
for (type itVar: array)
{
    Block of operators;
}
Donde tipo es el tipo de la variable iterativa (igual que el tipo de datos de la matriz), ItVar es su nombre, matriz es la matriz o puede haber otra estructura de datos, por ejemplo, ArrayList. Como puede ver, no hay contador, la variable de iteración itera sobre los elementos de una matriz o colección, y no sobre los valores de índice. Cuando se ejecuta un bucle de este tipo, a la variable de iteración se le asigna secuencialmente el valor de cada elemento de la matriz o colección, después de lo cual se ejecuta el bloque de instrucciones (u operador) especificado. Atención: el bucle for-each se puede aplicar a matrices y cualquier clase que implemente la interfaz java.lang.Iterable. Resolvamos el mismo problema con los saludos a los amigos, ignorando a los extraños ("Extraño"), pero esta vez usamos el ciclo for-each.
public class ForEachExample {
   public static void main(String[] args) {
       String[] names = {"Mike", "Dustin", "Stranger", "Lucas", "Will"};
	//  for each loop, Java code
       for (String name : names) {
           if (name.equals("Stranger")) {
               System.out.println("I don't chat with strangers");
               continue;
           }
           System.out.println("hello, " + name);
       }
   }
}
Para reforzar lo que aprendió, le sugerimos que vea una lección en video de nuestro Curso de Java
Comentarios
  • Populares
  • Nuevas
  • Antiguas
Debes iniciar sesión para dejar un comentario
Esta página aún no tiene comentarios