Diferencia Entre bucle for y while

bucle for y whileEn C++ y Java, las instrucciones de iteración, bucle for, bucle while y bucle do-while, 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 convierta en falsa. Las condiciones en las instrucciones de iteración pueden estar predefinidas como en bucle for o de extremo abierto como en bucle while.

Hay varias variaciones de bucle’ para ‘ en C++ que se implican 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 converge con el bucle ‘for’. Por el contrario, con el bucle while no podemos usar muchas variaciones, que deben usarse con la sintaxis estándar.

Hay algunas diferencias importantes entre los bucles for y while, que se explican con más detalle con la ayuda de una tabla de comparación.

Contenido: para Bucle Vs Bucle while

  1. Gráfico de comparación
  2. Definición
  3. Diferencias clave
  4. Conclusión

Gráfico de comparación

Base de comparación para mientras
Declaración for (inicialización; condición; iteración){
/ / cuerpo del bucle’ for’
}
declaraciones while (condition) {
; // cuerpo de bucle
}
Format Inicialización, comprobación de condición, instrucción de iteración se escriben en la parte superior del bucle. Solo se realiza la inicialización y la comprobación de condición en la parte superior del bucle.
Use El bucle ‘ for ‘ utilizado solo cuando ya sabíamos el número de iteraciones. El bucle ‘while’ se usa solo cuando el número de iteración no se conoce exactamente.
Condición Si la condición no se coloca en el bucle ‘for’, el bucle itera infinitas veces. Si la condición no se coloca en el bucle ‘while’, proporciona un error de compilación.
Inicialización En el bucle ‘for’, la inicialización una vez realizada nunca se repite. En bucle while si la inicialización se realiza durante la comprobación de condición, la inicialización se realiza cada vez que se itera el bucle.
La instrucción de iteración En el bucle ‘for’ la instrucción de iteración se escribe en la parte superior, por lo tanto, se ejecuta solo después de que se ejecuten todas las instrucciones en el bucle. En el bucle ‘while’, la instrucción iteración se puede escribir en cualquier parte del bucle.

Definición de bucle for

En Java, existen dos tipos de bucles. La primera forma es la forma » tradicional «y la segunda es la forma» para cada uno».

Sintaxis

La forma general de la instrucción de bucle for tradicional.

for (initialization; condition; iteration){//body of for loop}
  • Inicialización: La inicialización de la variable de control de bucle del bucle 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 de nuevo en cualquier 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 itera el bucle.
  • Incremento e iteración: La instrucción iteración es una expresión que incrementa o disminuye la variable de control de bucle.

Cuando se ejecuta el bucle, su condición de inicialización se ejecuta primero; luego se revisa la condición. Si se cumple la condición, se ejecuta el cuerpo del bucle y, a continuación, se ejecuta la instrucción iteración. Por otra parte, la condición se comprueba para saber si el bucle iterará más o terminará.

En Java, la instrucción de inicialización y la instrucción de iteración pueden incluir más de una instrucción. Cada instrucció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.

bucle for-each y su sintaxis

El formulario «for-each» es un bucle for mejorado. La forma general del bucle for-each es la siguiente.

for(type iter_variable: collection) statement-block

Aquí, el» tipo » especifica el tipo de variable de iteración, seguido de la variable de iteración. La variable 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 for-each de 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 que se utilizan con el bucle for. Vamos a discutirlo con una matriz como una 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.println( "value in c " + c); add = add+c; } System.out.println("additon of array elements is " +add); }}// outputvalue in c 10value in c 20value in c 30value in c 40value in c 50value in c 60additon of array elements is 210

Aquí, ‘ c ‘ es una variable de iteración; recibe los valores de la matriz, uno a la vez, del índice más bajo al índice más alto de la matriz. Aquí, el bucle itera hasta que se examinan todos los elementos de la matriz. Es posible terminar el bucle 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 bucle while

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.

Sintaxis

La declaración de un bucle while es la siguiente

while ( condition) {statements; //body of loop}

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

Si la condición se convierte en true, el bucle se itera a sí mismo, y si la condición se convierte en false, el control pasa a la siguiente línea del código seguida inmediatamente por el bucle. Las instrucciones o el bucle body pueden ser una instrucción vacía, una instrucción única o un bloque de instrucciones.

Ejemplo

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

//example is in Java.public class Main{ public static void main (String args) { int n=0; while(n<10) { n++; System.out.println("n=" +n); } }}//outputn=1n=2n=3n=4n=5n=6n=7n=8n=9n=10

Aquí, el valor inicial de ‘ n ‘ es 0, lo que hace que la condición en el bucle while sea verdadera. El control entra entonces en el cuerpo del bucle while y el valor de ‘n’ se incrementa de acuerdo con la primera instrucción en el cuerpo de un bucle while.

Se imprime el valor de ‘n’, luego el control vuelve a la condición en un bucle while, ahora el valor de’ n ‘ es 1, que de nuevo satisface la condición, y el cuerpo del bucle se ejecuta de nuevo. Esto continúa hasta que la condición es verdadera, tan pronto como la condición se convierte en falsa, el bucle se termina.

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 comprobación de condiciones.

//for examplewhile((ch = getchar( ) ) != 'A'){System.out.println(" The input alphabet " +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 bucle for o un bucle while, si solo hay una instrucción en el cuerpo del bucle, no se requieren llaves en esa condición.

Las diferencias clave Entre el bucle for y while

  1. En el bucle for, la inicialización, la comprobación de condiciones y la variable de incremento o decremento de iteración se realizan explícitamente solo en la sintaxis de un bucle. Por el contrario, en el bucle while 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 una ejecución de un bucle, usamos el bucle for. Por otro lado, si no somos conscientes del número de iteraciones que tienen que ocurrir en un bucle, entonces usamos el bucle while.
  3. Si no pone la instrucción de condición en el bucle for, dará lugar a una iteración infinita de un bucle. Por el contrario, si no pone la instrucción de condición en el bucle while, se producirá un error de compilación.
  4. La instrucción de inicialización en la sintaxis del bucle for se ejecuta solo una vez al inicio del bucle. Por el contrario, si el bucle while lleva la instrucción de inicialización en su sintaxis, la instrucción de inicialización en el bucle while se ejecutará cada vez que el bucle itere.
  5. La instrucción de iteración en el bucle for se ejecutará después de que se ejecute el bucle body for. Por el contrario, la instrucción de iteración se puede escribir en cualquier parte del cuerpo del bucle while, por lo que puede haber algunas instrucciones que se ejecutan después de la ejecución de la instrucción de iteración en el cuerpo del bucle while.

Conclusión

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