Diferència entre bucle de i durant

Autora: Laura McKinney
Data De La Creació: 2 Abril 2021
Data D’Actualització: 9 Ser Possible 2024
Anonim
Diferència entre bucle de i durant - Tecnologia
Diferència entre bucle de i durant - Tecnologia

Content


En C ++ i Java, les declaracions d'iteració, per a bucle, loop i loop, permeten executar repetidament el conjunt d'instruccions fins que la condició sigui certa i finalitzi tan aviat com la condició es faci falsa. Les condicions de les declaracions d'iteració es poden definir prèviament com en loop o open-end com en loop.

Hi ha diverses variacions de bucle "per a" en C ++ per augmentar la seva aplicabilitat, potència i flexibilitat. Per exemple, el bucle for ens permet utilitzar més d'una variable dins del bucle per controlar-lo i l'ús de la funció de convergència amb el bucle "for". Per contra, amb el bucle while no podem utilitzar moltes variacions, que s’han d’utilitzar amb la sintaxi estàndard.

Hi ha algunes diferències importants entre els bucles for i while, que s’expliquen més endavant amb l’ajut d’un gràfic de comparació.

  1. Gràfic de comparació
  2. Definició
  3. Diferències claus
  4. Conclusió

Gràfic de comparació

Bases per a la comparacióper mentre
Declaraciófor (inicialització; condició; iteració) {
// cos de for loop
}
while (condició) {
declaracions; // cos de llaç
}
FormatLa inicialització, la verificació de condicions i la declaració d'iteració s'escriuen a la part superior del bucle.Només la inicialització i la verificació de condicions es fan a la part superior del bucle.
UtilitzeuEl bucle for s'utilitza només quan ja coneixíem el nombre d'iteracions.El bucle while s'utilitza només quan no es coneix exactament el nombre d'iteració.
EstatSi no es configura la condició per a bucle, el bucle iterarà infinites vegades.Si no es configura la condició durant el bucle, proporciona un error de compilació.
InicialitzacióEn bucle, la inicialització un cop feta no es repeteix mai.En loop mentre la inicialització es fa durant la comprovació de la condició, la inicialització es fa cada cop que el bucle es repeteix.
Declaració d’iteracióLa declaració d'iteració de bucles s'escriu a la part superior, per tant, només s'executa després que totes les instruccions del bucle s'executin.Durant el bucle, la instrucció de iteració es pot escriure a qualsevol part del bucle.


Definició de for loop

A Java, hi ha dues formes de per bucles. La primera forma és la forma "tradicional" i la segona la "per a cada".

Sintaxi

La forma general de la sentència tradicional per a bucle.

for (inicialització; condició; iteració) {// body of for loop}

  • Inicialització - La inicialització de la variable de control de bucle de loop es executa una sola vegada, durant la primera iteració del bucle. Aquí, la variable de control de llaç es inicialitza, de vegades si la variable de llaç no es torna a utilitzar a qualsevol part del programa i només s'utilitza com a variable de control del bucle, es declara i s'inicialitza al bucle "for".
  • Estat - La condició del bucle "per" s'executa cada cop que es repte el bucle.
  • Increment i iteració- La declaració d'iteració és una expressió que augmenta o disminueix la variable que controla el bucle.

Sempre que s’executa el bucle, primer s’executa la seva condició d’inicialització; aleshores es comprova l’estat. Si la condició es compleix, el cos del bucle s'executa, s'executa la instrucció de iteració. A continuació, es comprova la condició per saber si el llaç es iterarà més o no s’acabarà.


A Java, la declaració d'inicialització i la declaració d'iteració poden incloure més d'una declaració. Cada instrucció està separada per una altra per una coma, a Java, una coma és un separador, mentre que, en C ++, "coma" és un operador que es pot utilitzar en qualsevol expressió vàlida.

per a cada bucle i la seva sintaxi

El formulari "per a cada" és un bucle millorat. La forma general del bucle corresponent és la següent.

for (type iter_variable: collection) statement-block

Aquí, el "tipus" especifica el tipus de variable d'iteració, seguit de la variable d'iteració. La variable d'iteració rebrà l'element de la variable de recollida. El tipus ha de ser el mateix que el tipus d’elements emmagatzemats a la variable de col·lecció. La forma per a cada bucle automatitza la iteració del bucle des del començament fins al final per accedir als valors per ordre seqüencial.

Exemple

Hi ha diversos tipus de col·lecció utilitzats per a loop. Ho discutim amb una matriu com a col·lecció.

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); afegir = afegir + c; } System.out.ln ("additon d'elements de matriu és" + add); }} // El valor de sortida en el valor c 10 en el valor c 20 en el valor c 30 en el valor c 40 el valor c en el 50 c en el additiu c 60 dels elements de matriu és 210

Aquí, "c" és una variable d'iteració; rep els valors de matriu, d’un en un, de l’índex més baix al índex més alt de la matriu. Aquí, el llaç s’itera fins que s’examinen tots els elements de la matriu. És possible acabar el bucle entremig mitjançant "break". Tanmateix, el canvi en la variable d'iteració no afecta la matriu, ja que només és una variable de només lectura.

Definició de loop

El mentre llaç és el bucle més fonamental disponible en C ++ i Java. El funcionament d'un bucle de temps és similar tant en C ++ com en Java.

Sintaxi

La declaració d’un bucle de temps és la següent

while (condició) {instruccions; // cos de llaç}

El bucle while verifica inicialment la condició i després executa les declaracions fins que la condició mentre el bucle resulta cert. La condició del bucle while pot ser qualsevol expressió booleana. Quan una expressió retorna qualsevol valor diferent de zero, la condició és certa i si l'expressió retorna un valor zero, la condició es converteix en falsa.

Si la condició es fa certa, el bucle es itera i, si la condició es converteix en falsa, el control passa a la següent línia del codi seguida immediatament del bucle. Les instruccions o el bucle corporal poden ser una declaració buida o una declaració única o un bloc d’instruccions.

Exemple

Discutim el funcionament d'un bucle de temps. A l'exemple següent, el codi serà de l'1 al 10.

// exemple és a Java. public class Main {public static void main (String args) {int n = 0; mentre que (n <10) {n ++; System.out.ln ("n =" + n); }}} // sortida 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" és 0, cosa que fa que la condició del bucle sigui real. Aleshores, el control entra al cos del bucle while i el valor de "n" s'incrementa segons la primera declaració del cos d'un bucle while. El valor de "n" s'edita, i el control torna a la condició en un bucle de temps, ara el valor de "n" és 1 que torna a satisfer la condició i es torna a executar el cos del bucle. Continua fins que la condició sigui certa, tan aviat com la condició es converteix en falsa, el bucle es tanca.

Igual que el llaç "per", el bucle "while" també pot inicialitzar la variable de control que es troba a la part superior del bucle, és a dir, durant la verificació de condicions.

// per exemple while ((ch = getchar ())! = A) {System.out.ln ("El alfabet d'entrada" + ch); }

Aquí s'inicialitza la variable de control "ch" i es verifica l'estat del bucle a la part superior del bucle.

Nota:

Pot ser un bucle de bucle o de temps, si només hi ha una declaració al cos del bucle, les claves no es requereixen en aquesta condició.

  1. Dins per llaç, inicialització, comprovació de condicions i increment o decreixement de la variable d’iteració es fa explícitament només en la sintaxi d’un bucle. Com a contra, a la mentre bucle només podem inicialitzar i comprovar la condició de la sintaxi del bucle.
  2. Quan som conscients del nombre de iteracions que hi ha hagut en una execució d'un bucle, llavors les utilitzem per bucle. D'altra banda, si no som conscients del nombre d'iteracions que hi ha hagut en un bucle, llavors les farem servir mentre bucle.
  3. Si no heu introduït la declaració de condició per bucle, donarà lloc a una iteració infinita d'un llaç. En canvi, si no introduïu la declaració de condició a la secció mentre llaç donarà lloc a un error de compilació.
  4. La declaració d’inicialització en la sintaxi de per el bucle s'executa una vegada al principi del bucle. Per contra, si mentre el bucle porta una declaració d'inicialització en la seva sintaxi, i la sentència d'inicialització en el bucle mentre s'executa cada cop que es produeix el bucle.
  5. La declaració d'iteració a la web per el bucle s'executarà després que el cos per executar el bucle. Per contra, la declaració d'iteració es pot escriure a qualsevol part del cos de mentre llaç, per tant, hi pot haver algunes declaracions que s'executen després de l'execució d'una sentència d'iteració al cos del bucle while.

Conclusió:

Els dos enllaç i en bucle són declaració d'iteració, però tots dos tenen la seva característica diferent. El bucle for té tota la seva declaració (inicialització, condició, iteració) a la part superior del cos del bucle. Per contra, només quan la inicialització i la condició del bucle es troben a la part superior del cos del llaç i la iteració es pot escriure a qualsevol part del cos del bucle.