Diferencia entre for y while loop

Autor: Laura McKinney
Fecha De Creación: 2 Abril 2021
Fecha De Actualización: 10 Mayo 2024
Anonim
Difference between for loop and while loop | for loop VS while loop
Video: Difference between for loop and while loop | for loop VS while loop

Contenido


En C ++ y Java, las declaraciones de iteración, for loop, while loop y do-while loop, permiten que el conjunto de instrucciones se ejecute repetidamente, hasta que la condición sea verdadera y termine tan pronto como la condición se vuelva falsa. Las condiciones en las declaraciones de iteración pueden predefinirse como en bucle for o abiertas como en bucle while.

Hay varias variaciones de bucle "para" en C ++ que están implicadas para aumentar su aplicabilidad, potencia y flexibilidad. Por ejemplo, el bucle for nos permite usar más de una variable dentro del bucle para controlarlo, y el uso de la función de convergencia con el bucle "for". Por el contrario, con el bucle while no podemos usar muchas variaciones, que deben usarse con la sintaxis estándar.

Existen algunas diferencias importantes entre los bucles for y while, que se explican más detalladamente con la ayuda de un cuadro comparativo.

  1. Cuadro comparativo
  2. Definición
  3. Diferencias clave
  4. Conclusión

Cuadro comparativo

Bases para la comparaciónpara mientras
Declaraciónpara (inicialización; condición; iteración) {
// cuerpo del bucle for
}
while (condición) {
declaraciones; // cuerpo del bucle
}
FormatoLa inicialización, la comprobación de condición y la declaración de iteración se escriben en la parte superior del bucle.Solo la inicialización y la verificación de condición se realizan en la parte superior del ciclo.
UtilizarEl bucle for se usa solo cuando ya sabíamos el número de iteraciones.El ciclo while se usa solo cuando el número de iteraciones no se conoce exactamente.
CondiciónSi la condición no se incluye en el ciclo for, entonces el ciclo itera infinitas veces.Si la condición no se presenta en el ciclo while, proporciona un error de compilación.
InicializaciónEn el ciclo for, la inicialización una vez realizada nunca se repite.En el ciclo while si la inicialización se realiza durante la verificación de la condición, la inicialización se realiza cada vez que el ciclo itera.
Declaración de iteraciónLa instrucción de iteración for loop se escribe en la parte superior, por lo tanto, se ejecuta solo después de que se ejecutan todas las instrucciones en bucle.En el ciclo while, la declaración de iteración se puede escribir en cualquier parte del ciclo.


Definición de for loop

En Java, hay dos formas de para bucles La primera forma es "tradicional" y la segunda es "para-cada" forma.

Sintaxis

La forma general de la declaración tradicional de bucle.

for (inicialización; condición; iteración) {// cuerpo del bucle for}

  • Inicialización - La inicialización de la variable de control del bucle for for se ejecuta solo una vez, durante la primera iteración del bucle. Aquí, la variable de control de bucle se inicializa, a veces si la variable de bucle no se usa nuevamente en ninguna parte del programa y solo se usa como la variable de control del bucle, entonces se declara e inicializa en el bucle "for".
  • Condición - La condición del bucle "for" se ejecuta cada vez que se repite el bucle.
  • Incremento e iteración- La declaración de iteración es una expresión que incrementa o disminuye la variable de control del ciclo.

Cada vez que se ejecuta el bucle, su condición de inicialización se ejecuta primero; entonces se verifica la condición. Si se cumple la condición, se ejecuta el cuerpo del bucle y luego se ejecuta la instrucción de iteración. Por otra parte, la condición se verifica para saber si el ciclo iterará más o finalizará.


En Java, la declaración de inicialización y la declaración de iteración pueden incluir más de una declaración. Cada declaración está separada por otra por una coma, en Java, una coma es un separador mientras que, en C ++, "coma" es un operador que se puede usar en cualquier expresión válida.

for-each loop y su sintaxis

El formulario "para cada uno" es un bucle for mejorado. La forma general del ciclo for-each es la siguiente.

para el bloque de instrucciones (escriba iter_variable: colección)

Aquí, el "tipo" especifica el tipo de variable de iteración, seguido de la variable de iteración. La variable de iteración recibirá el elemento de la variable de colección. El tipo debe ser el mismo que el tipo de elementos almacenados en la variable de colección. La forma para cada bucle for automatiza la iteración del bucle de principio a fin accediendo a los valores en orden secuencial.

Ejemplo

Hay varios tipos de colección utilizados con for loop. Discutámoslo con una matriz como colección.

public class Main {public static void main (String args) {int array = {10, 20, 30, 40, 50, 60}; int add = 0; for (int c: array) {System.out.ln ("valor en c" + c); agregar = agregar + c; } System.out.ln ("la adición de elementos de matriz es" + add); }} // valor de salida en c 10 valor en c 20 valor en c 30 valor en c 40 valor en c 50 valor en c 60 la adición de elementos de matriz es 210

Aquí, "c" es una variable de iteración; recibe los valores de la matriz, uno a la vez, desde el índice más bajo hasta el índice más alto de la matriz. Aquí, el ciclo itera hasta que se examinen todos los elementos de la matriz. Es posible terminar el ciclo intermedio usando "break". Sin embargo, el cambio en la variable de iteración no afecta a la matriz, ya que es solo una variable de solo lectura.

Definición de while while

los mientras loop es el ciclo más fundamental disponible en C ++ y Java. El funcionamiento de un ciclo while es similar tanto en C ++ como en Java.

Sintaxis

La declaración de un ciclo while es la siguiente

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

El ciclo while inicialmente verifica la condición y luego ejecuta las declaraciones hasta que la condición en el ciclo while resulta ser verdadera. La condición en el bucle while puede ser cualquier expresión booleana. Cuando una expresión devuelve un valor distinto de cero, la condición es verdadera y si la expresión devuelve un valor cero, la condición se vuelve falsa.

Si la condición se vuelve verdadera, el ciclo se repite y, si la condición se vuelve falsa, el control pasa a la siguiente línea del código seguida inmediatamente por el ciclo. Las declaraciones o el bucle del cuerpo pueden ser una declaración vacía o una sola declaración o un bloque de declaraciones.

Ejemplo

Discutamos el funcionamiento de un ciclo while. En el siguiente ejemplo, el código será del 1 al 10.

// el ejemplo está en Java. public class Main {public static void main (String args) {int n = 0; mientras que (n <10) {n ++; System.out.ln ("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 hace que la condición en el ciclo while sea verdadera. El control luego ingresa al cuerpo del ciclo while y el valor de "n" se incrementa de acuerdo con la primera instrucción en el cuerpo de un ciclo while. El valor de 'n' se edita, luego el control vuelve a la condición en un ciclo while, ahora el valor de 'n' es 1, que nuevamente satisface la condición, y el cuerpo del ciclo se ejecuta nuevamente. Esto continúa hasta que la condición sea verdadera, tan pronto como la condición se vuelva falsa, el ciclo finaliza.

Al igual que el bucle "for", el bucle "while" también puede inicializar la variable de control en la parte superior del bucle, es decir, durante la verificación de la condición.

// por ejemplo while ((ch = getchar ())! = A) {System.out.ln ("El alfabeto de entrada" + ch); }

Aquí se inicializa la variable de control "ch" y la condición del bucle se verifica en la parte superior del bucle.

Nota:

Puede ser un ciclo for o un ciclo while, si solo hay una declaración en el cuerpo del ciclo, las llaves no son necesarias en esa condición.

  1. En para El bucle, la inicialización, la comprobación de condición y el incremento o disminución de la variable de iteración se realizan explícitamente en la sintaxis de un bucle solamente. En contra, en el mientras bucle solo podemos inicializar y verificar la condición en la sintaxis del bucle.
  2. Cuando somos conscientes del número de iteraciones que tienen que ocurrir en la ejecución de un ciclo, entonces usamos para lazo. Por otro lado, si no somos conscientes del número de iteraciones que tienen que ocurrir en un bucle, entonces usamos mientras lazo.
  3. Si no puede poner la declaración de condición en para bucle, conducirá a una iteración infinita de un bucle. Por el contrario, si no puede poner la declaración de condición en el mientras bucle conducirá a un error de compilación.
  4. La declaración de inicialización en la sintaxis de para El bucle se ejecuta solo una vez al comienzo del bucle. Por el contrario, si mientras El bucle lleva la instrucción de inicialización en su sintaxis, luego la instrucción de inicialización en el bucle while se ejecutará cada vez que el bucle se repita.
  5. La declaración de iteración en el para El bucle se ejecutará después de que se ejecute el cuerpo para el bucle. Por el contrario, la declaración de iteración se puede escribir en cualquier parte del cuerpo de mientras Entonces, puede haber algunas declaraciones que se ejecutan después de la ejecución de la declaración de iteración en el cuerpo del ciclo while.

Conclusión:

Los bucles for y while son declaraciones de iteración, pero ambos tienen su característica distintiva. El ciclo for tiene toda su declaración (inicialización, condición, iteración) en la parte superior del cuerpo del ciclo. Adversamente, en el ciclo while, solo la inicialización y la condición se encuentran en la parte superior del cuerpo del ciclo y la iteración puede escribirse en cualquier parte del cuerpo del ciclo.