Rozdíl mezi smyčkou pro a během

Autor: Laura McKinney
Datum Vytvoření: 2 Duben 2021
Datum Aktualizace: 9 Smět 2024
Anonim
Rozdíl mezi smyčkou pro a během - Technologie
Rozdíl mezi smyčkou pro a během - Technologie

Obsah


V C ++ a Java umožňují iterační příkazy pro smyčku, zatímco smyčka a smyčka do-while, opakované provádění sady instrukcí, dokud není podmínka pravdivá a skončí, jakmile je podmínka nepravdivá. Podmínky v iteračních příkazech mohou být předdefinovány jako v smyčce nebo otevřené jako v smyčce while.

Existuje několik variací typu „for“ v jazyce C ++, které jsou navrženy pro zvýšení jeho použitelnosti, síly a flexibility. Například smyčka for nám umožňuje použít více než jednu proměnnou uvnitř smyčky, abychom ji mohli ovládat, a použití funkce konvergovat s smyčkou „for“. Naopak, zatímco while loop nemůžeme použít mnoho variací, které musí být použity se standardní syntaxí.

Mezi smyčkami pro a pro smyčky jsou některé hlavní rozdíly, které jsou dále vysvětleny pomocí srovnávací tabulky.


  1. Srovnávací tabulka
  2. Definice
  3. Klíčové rozdíly
  4. Závěr

Srovnávací tabulka

Základ pro srovnánípro zatímco
Prohlášenípro (inicializace; stav; iterace) {
// tělo pro smyčku
}
while (podmínka) {
prohlášení; // tělo smyčky
}
FormátInicializace, kontrola stavu, iterační příkaz jsou zapsány v horní části smyčky.Pouze inicializace a kontrola stavu se provádí v horní části smyčky.
PoužitíSmyčka for se použila, pouze když jsme již znali počet iterací.Smyčka while se používá pouze tehdy, když počet iterací není přesně znám.
StavPokud podmínka není upravena pro smyčku, opakuje smyčka nekonečné časy.Pokud podmínka není vložena do smyčky while, dojde k chybě kompilace.
InicializaceIn pro inicializaci se nikdy neopakuje inicializace.Pokud je v průběhu smyčky inicializace během kontroly stavu, provede se inicializace pokaždé, když se opakuje opakování smyčky.
Iterační prohlášeníPříkaz iterace smyčky je zapsán nahoře, a proto se provádí až po provedení všech příkazů ve smyčce.Ve smyčce while lze iterační příkaz psát kdekoli ve smyčce.


Definice smyčky

V Javě existují dvě formy pro smyčky. První forma je „tradiční“ forma a druhá je forma „pro každého“.

Syntax

Obecná forma tradiční pro prohlášení o smyčce.

pro (inicializace; podmínka; iterace) {// tělo pro smyčku}

  • Inicializace - Inicializace proměnné pro regulaci smyčky pro smyčku se provede pouze jednou, během první iterace smyčky. Zde je inicializována proměnná řídící smyčku, někdy, pokud proměnná smyčky není znovu použita nikde v programu a používá se pouze jako řídící proměnná smyčky, je deklarována a inicializována ve smyčce „for“.
  • Stav - Podmínka smyčky „for“ se provádí pokaždé, když je smyčka iterována.
  • Přírůstek a iterace- Příkaz iterace je výraz, který zvyšuje nebo snižuje proměnnou řídící smyčku.

Kdykoli je smyčka vykonána, její inicializační podmínka je provedena jako první; potom je stav zkontrolován. Pokud je podmínka splněna, provede se tělo smyčky, pak se provede iterační příkaz. Poté se podmínka znovu zkontroluje, aby se zjistilo, zda se smyčka dále opakuje nebo bude ukončena.

V Java může inicializační příkaz a iterační příkaz obsahovat více než jeden příkaz. Každý příkaz je oddělený čárkou, v Javě je čárka oddělovač, zatímco v jazyce C ++ je „čárka“ operátor, který lze použít v libovolném platném výrazu.

pro každou smyčku a její syntaxi

Formulář „for-each“ je vylepšený pro smyčku. Obecná forma smyčky for-each je následující.

blok příkazu (typ iter_variable: collection)

Zde „typ“ určuje typ iterační proměnné, následovaný iterační proměnnou. Proměnná iterace obdrží prvek z proměnné kolekce. Typ musí být stejný jako typ prvků uložených v proměnné kolekce. For for each each for loop automatizuje iteraci smyčky od začátku do konce a přístup k hodnotám v sekvenčním pořadí.

Příklad

Pro smyčku se používají různé typy kolekce. Pojďme to diskutovat s maticí jako sbírkou.

public class Main {public static void main (String args) {int array = {10, 20, 30, 40, 50, 60}; int add = 0; pro (int c: array) {System.out.ln ("hodnota v c" + c); add = add + c; } System.out.ln ("přidání prvků pole je" + add); }} // výstupní hodnota v c 10 hodnota v c 20 hodnota v c 30 hodnota v c 40 hodnota v c 50 hodnota v c 60 sčítání prvků pole je 210

Tady je 'iterační proměnná; přijímá hodnoty z pole, jeden po druhém, od nejnižšího indexu po nejvyšší index v poli. Zde se smyčka opakuje, dokud nejsou prozkoumány všechny prvky pole. Je možné ukončit smyčku mezi pomocí „break“. Změna iterační proměnné však pole neovlivní, protože se jedná pouze o proměnnou pouze pro čtení.

Definice while while

zatímco loop je nejzákladnější smyčka dostupná v C ++ a Java. Práce smyčky while je v C ++ i Java podobná.

Syntax

Prohlášení smyčky while je následující

while (podmínka) {prohlášení; // tělo smyčky}

Slučka while nejprve zkontroluje podmínku a poté provede příkazy, dokud se ukáže, že podmínka v while je pravdivá. Podmínkou v while while může být jakýkoli booleovský výraz. Když výraz vrací jakoukoli nenulovou hodnotu, je podmínka pravdivá a pokud výraz vrací nulovou hodnotu, podmínka se stane chybnou.

Pokud se podmínka stane pravdivou, opakuje se smyčka sama, a pokud se podmínka stane nepravdivou, pak řízení přejde na další řádek kódu, za nímž následuje smyčka. Příkazy nebo tělesná smyčka mohou být buď prázdné, nebo jediné, nebo blok příkazů.

Příklad

Pojďme diskutovat o fungování smyčky chvíli. V níže uvedeném příkladu bude kód od 1 do 10.

// příklad je v Javě. public class Main {public static void main (String args) {int n = 0; zatímco (n <10) {n ++; System.out.ln ("n =" + n); }}} // výstup n = 1 n = 2 n = 3 n = 4 n = 5 n = 6 n = 7 n = 8 n = 9 n = 10

Počáteční hodnota „n“ je zde 0, což způsobí, že podmínka v while while true. Ovládací prvek poté vstoupí do těla smyčky while a hodnota 'n' se zvýší podle prvního příkazu v těle smyčky while. Hodnota 'n' je editována, pak se řízení vrátí zpět do stavu ve smyčce while, nyní hodnota 'n' je 1, která opět splňuje podmínku, a tělo smyčky je znovu provedeno. Toto pokračuje, dokud není podmínka splněna, jakmile je podmínka nepravdivá, smyčka je ukončena.

Stejně jako u smyčky „for“, smyčka „while“ může také inicializovat řídicí proměnnou v horní části smyčky, tj. Během kontroly stavu.

// například while ((ch = getchar ())! = A) {System.out.ln ("Vstupní abeceda" + ch); }

Zde se inicializuje řídící proměnná „ch“ a stav smyčky se ověřuje v horní části smyčky.

Poznámka:

Může to být smyčka for for nebo while while, pokud je v těle smyčky pouze jeden příkaz, složené závorky nejsou v tomto stavu vyžadovány.

  1. v pro smyčka, inicializace, kontrola stavu a přírůstek nebo úbytek iterační proměnné se provádí explicitně pouze v syntaxi smyčky. Jak proti, v zatímco smyčka můžeme pouze inicializovat a zkontrolovat stav v syntaxi smyčky.
  2. Když jsme si vědomi počtu iterací, které musí nastat při provádění smyčky, použijeme pro smyčka. Na druhou stranu, pokud si nejsme vědomi počtu iterací, které musí nastat ve smyčce, použijeme zatímco smyčka.
  3. Pokud se vám nepodaří vložit příkaz podmínky pro smyčka, povede to k nekonečné iteraci smyčky. Naopak, pokud se vám nepodaří vložit prohlášení o stavu do zatímco smyčka povede k chybě kompilace.
  4. Inicializační příkaz v syntaxi pro loop provede pouze jednou na začátku smyčky. Naopak, pokud zatímco smyčka nese inicializační příkaz ve své syntaxi, pak inicializační příkaz ve smyčce while se provede pokaždé, když je smyčka iterována.
  5. Iterační prohlášení v pro smyčka se spustí po provedení těla pro provedení smyčky. Naopak, iterační prohlášení lze psát kdekoli v těle zatímco smyčka, takže v těle smyčky while mohou existovat některé příkazy, které se provedou po provedení příkazu iterace.

Závěr:

Příkaz for loop a while loop jsou iterační příkazy, ale oba mají svůj odlišný rys. Smyčka for má všechny své deklarace (inicializace, podmínka, iterace) v horní části těla smyčky. Nepříznivě, zatímco smyčka pouze inicializace a podmínka je v horní části těla smyčky a iterace může být zapsána kdekoli v těle smyčky.