Funcionamiento del Loop y syntax do-while de Java
Con el bucle do-while de Java te aseguras de que el programa ejecute instrucciones hasta que se alcance una condición de terminación definida. El bucle también puede combinarse con otras funciones.
¿Qué es el Java do-while loop?
El bucle do-while se utiliza en Java para ejecutar y repetir una instrucción hasta que se cumpla una condición de cancelación definida, es decir, “true” (verdadera). Existen bucles similares en la mayoría de los lenguajes de programación, donde se utilizan para ejecutar determinados bloques de código varias veces. El bucle también puede combinarse con otras funciones. En Java, el bucle do-while es una variante del bucle while.
Syntax do-while en Java
La sintaxis del bucle do-while en Java siempre tiene esta estructura:
do {
//Instrucciones
}
while(Condicion);
javaLa estructura comienza con la palabra clave “do”. Después, se encuentran las instrucciones o la instrucción que el programa debe ejecutar. Después del bloque de código, sigue la palabra clave “while”, que inicia la condición de terminación. Esta siempre está formulada como una expresión booleana y, por lo tanto, en la lógica del programa, puede ser “true” (verdadera) o “false” (falsa). Un ejemplo popular y práctico de tal expresión es una variable de conteo, con la que se puede controlar cuántas veces se repetirá la ejecución.
- Rápido, seguro, flexible y escalable
- Certificado SSL/DDoS incluido
- Dominio y asesor personal incluidos
Funcionamiento de los bucles
Cuando se ejecuta el bucle do-while de Java, el programa busca las instrucciones dentro del cuerpo del bucle y las efectúa. Una vez completado esto, comprueba la condición de cancelación. Si esta es “true” (es decir, aún no se ha cumplido), el bucle comienza desde el principio y repite todas las instrucciones hasta que se vuelve a comprobar. Sin embargo, en cuanto la condición de cancelación se cumple y, por tanto, es “false”, el programa termina el bucle y continua con el resto del código.
Ejemplo de un bucle simple
Para ilustrar el funcionamiento del bucle, mostraremos su estructura con un ejemplo sencillo. Para ello, definimos un valor x como 10. Con la ayuda del operador Java “++”, este valor se incrementará en 1 en cada pasada y se mostrará con el comando Java System.out.println
. Nuestra condición de cancelación es el valor 20, por lo que el bucle se repite mientras el valor x sea menor que 20. El código será el siguiente:
public class Main {
public static void main(String[] args) {
int x = 10;
do {
System.out.println(x);
x++;
}
while (x < 20);
}
}
javaSi ejecutamos este código, obtendremos el siguiente resultado:
10
11
12
13
14
15
16
17
18
19
javaA continuación, el programa ejecutará de nuevo el bucle, pero reconocerá que el valor de x es 20. Como ya no es inferior a 20, se cumple la condición de cancelación y el bucle do-while finaliza.
Crear un bucle infinito con el valor “true”
Con la ayuda de la expresión booleana “true”, es posible diseñar un bucle infinito con do-while. Éste nunca se detendrá a sí mismo, ya que no se puede alcanzar ninguna condición de cancelación. Para finalizar el bucle, se debe utilizar manualmente la combinación [Ctrl] + [C]. El código tendrá este aspecto:
public class Main {
public static void main(String[] args) {
do {
System.out.println("Estás en un bucle sin fin.");
}
while(true);
}
}
javaEjecutando este código, obtendrás el siguiente resultado:
Estás en un bucle sin fin.
Estás en un bucle sin fin.
Estás en un bucle sin fin.
Estás en un bucle sin fin.
Estás en un bucle sin fin.
ctrl+c
javaSi no finalizas el bucle manualmente, seguirá ejecutándose.
Diferencia entre do-while y while
En muchos aspectos, el bucle do-while y el while son muy similares. Sin embargo, difieren en un aspecto: mientras que el bucle while comprueba la condición de cancelación justo al principio, el bucle do-while se ejecuta primero al menos una vez por completo y finaliza después. Por lo tanto, si deseas ejecutar las instrucciones al menos una vez, deberías optar por esta solución. Si la determinación de la cancelación es crucial, puedes utilizar en su lugar el bucle while.