Recomendado, 2024

La Elección Del Editor

Diferencia entre while y do-while Loop

Las declaraciones de iteración permiten que el conjunto de instrucciones se ejecute repetidamente hasta que la condición no resulte falsa. Las declaraciones de iteración en C ++ y Java son, para bucle, bucle while y bucle while. Estas declaraciones son comúnmente llamadas bucles. Aquí, la principal diferencia entre un bucle while y un bucle while es que la condición de comprobación de bucle while antes de la iteración del bucle, mientras que el bucle do-while, verifica la condición después de la ejecución de las declaraciones dentro del bucle.

En este artículo, vamos a discutir las diferencias entre el bucle "while" y el bucle "do-while".

Gráfica comparativa

Bases para la comparaciónmientrashacer mientras
Forma generalwhile (condición) {
declaraciones; // cuerpo de bucle
}
hacer{
.
declaraciones; // cuerpo de bucle.
.
} while (Condición);
Condición de controlEn el bucle 'while', la condición de control aparece al inicio del bucle.En el bucle 'do-while', la condición de control aparece al final del bucle.
IteracionesLas iteraciones no ocurren si, la condición en la primera iteración, aparece falsa.La iteración se produce al menos una vez, incluso si la condición es falsa en la primera iteración.

Definición de while Loop

El bucle while es el bucle más fundamental disponible en C ++ y Java. El funcionamiento de un bucle while es similar tanto en C ++ como en Java. La forma general de bucle while es:

 while (condición) {declaraciones; // cuerpo de bucle} 

El bucle while primero verifica la condición, y si la condición es verdadera, entonces itera el ciclo hasta que la condición se vuelve falsa. La condición en el bucle while puede ser cualquier expresión booleana. Cuando la expresión devuelve cualquier valor que no sea cero, entonces la condición es "verdadera", y si una expresión devuelve un valor cero, la condición se vuelve "falsa". Si la condición se vuelve verdadera, entonces el bucle se itera, y si la condición se vuelve falsa, entonces el control pasa a la siguiente línea del código inmediatamente seguido por el bucle.

Las declaraciones o el cuerpo del bucle pueden ser una declaración vacía o una declaración única o un bloque de declaraciones.

Vamos a discutir el funcionamiento de un bucle while. En el siguiente ejemplo, el código se imprimirá de 1 a 10.

 // el ejemplo está en Java. class while {public static void main (args []) {int n = 0; while (n <= 10) {n ++; system.out.println ("n =" + n); }}} // salida n = 1 n = 2 n = 3 n = 4 n = 5 n = 6 n = 7 n = 8 n = 9 n = 10 

Aquí, el valor inicial de 'n' es 0, lo que convierte la condición en un bucle while verdadero. Luego, el control ingresa en el cuerpo del bucle while y el valor de 'n' se incrementa de acuerdo con la primera declaración en el cuerpo de un bucle while. Luego, se imprime el valor de 'n' y, nuevamente, el control vuelve a la condición de un bucle while, ahora el valor de 'n' es 1, que de nuevo satisface la condición, y el cuerpo del loop se ejecuta nuevamente.

Esto continúa hasta que la condición es verdadera, tan pronto como la condición se vuelve falsa, el bucle termina. Al igual que para bucle, el bucle while también verifica primero la condición y luego ejecuta el cuerpo del bucle.

Definición de Do-while Loop

Al igual que en el bucle while, si la condición de control se vuelve falsa solo en la primera iteración, entonces el cuerpo del bucle while no se ejecuta en absoluto. Pero el bucle do-while es algo diferente del bucle while. El bucle do-while ejecuta el cuerpo del bucle al menos una vez, incluso si la condición es falsa en el primer intento.

La forma general de hacer un rato es la siguiente.

 hacer {. sentencias // cuerpo de bucle. . } while (Condición); 

En un bucle do-while, el cuerpo del bucle se produce antes de la condición de control y la declaración condicional se encuentra en la parte inferior del bucle. Al igual que en bucle while, aquí también, el cuerpo del bucle puede estar vacío, ya que tanto C ++ como Java permiten sentencias nulas o, solo puede haber una sola sentencia o, un bloque de sentencias. La condición aquí también es una expresión booleana, que es verdadera para todos los valores distintos de cero.

En un bucle do-while, el control primero llega a la declaración en el cuerpo de un bucle do-while. Las declaraciones en el cuerpo se ejecutan primero y luego el control llega a la parte de condición del bucle. La condición se verifica y, si es verdadera, el bucle se itera nuevamente, y si la condición es falsa, el control continúa en la siguiente línea inmediatamente después del bucle.

Entendámoslo implementando el ejemplo anterior en do-while.

 // el ejemplo está en Java. class while {public static void main (args []) {int n = 1; do {system.out.println ("n =" + n); n ++; } while (n <10)}} // salida n = 1 n = 2 n = 3 n = 4 n = 5 n = 6 n = 7 n = 8 n = 9 n = 10 

Aquí, el valor de n = 1 el control se reanuda en el cuerpo del bucle, el valor de 'n' se imprime y luego su valor se incrementa. Luego el control reanuda la condición del bucle do-while; se verifica la condición que resulta verdadera para n = 1, por lo tanto, el bucle se repite nuevamente y continúa hasta que la condición se vuelve falsa.

Diferencias clave entre while y do-while Loop

  1. El bucle while comprueba la condición al inicio del bucle y, si se cumple la condición, se ejecuta una declaración dentro del bucle. En el bucle do-while, la condición se verifica después de la ejecución de todas las declaraciones en el cuerpo del bucle.
  2. Si la condición en un bucle while es falsa, no se ejecuta una sola instrucción dentro del bucle, y si la condición en el bucle 'do-while' es falsa, entonces el cuerpo del bucle se ejecuta al menos una vez, entonces se comprueba la condición.

Conclusión:

Tanto el bucle while como el do-while son la instrucción de iteración. Si queremos eso primero, la condición debe verificarse, y luego las instrucciones dentro del bucle deben ejecutarse y luego se usa el ciclo while. Si desea probar la condición de terminación al final del bucle, se usa el bucle do-while.

Top