Rozdíl Mezi for a while
V C++ a Java, iterační příkazy, cyklus for, while a do-while, aby sadu instrukcí, aby být opakovaně provedeny, dokud je podmínka true a ukončí, jakmile stav se stává falešné. Podmínky v iteračních příkazech mohou být předdefinovány jako in pro smyčku nebo open-ended jako v while smyčce.
existuje několik variant smyček “ pro “ v C++, které zvyšují jeho použitelnost, sílu a flexibilitu. 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í konvergenční funkce se smyčkou „for“. Naopak, s while loop nemůžeme použít mnoho variant, které musí být použity se standardní syntaxí.
existují některé hlavní rozdíly mezi smyčkami for a while, které jsou dále vysvětleny pomocí srovnávacího grafu.
obsah: cyklu for Vs. while
- pro Porovnání programů
- Definice
- hlavní Rozdíly
- Závěr
pro Porovnání programů
Základ pro Srovnání | zatímco | |
---|---|---|
Prohlášení | for(inicializace; podmínka; iterace){ //tělo “ pro “ smyčky } |
while ( podmínka) { prohlášení; //tělo smyčky } |
Formát | Inicializace, podmínky kontrola, iterace prohlášení jsou napsané v horní části smyčky. | v horní části smyčky se provádí pouze inicializace a kontrola stavu. |
použijte | smyčku ‚pro‘ použitou pouze tehdy, když jsme již znali počet iterací. | smyčka ‚while‘ se používá pouze v případě, že počet iterací není přesně znám. |
podmínka | pokud podmínka není uvedena ve smyčce ‚pro‘, pak smyčka iteruje nekonečné časy. | pokud podmínka není vložena do smyčky „while“, poskytuje chybu kompilace. |
inicializace | ve smyčce ‚pro‘ inicializace po dokončení se nikdy neopakuje. | ve smyčce while pokud se inicializace provádí během kontroly stavu, provede se inicializace pokaždé, když se smyčka iteruje. |
iterační příkaz | v iteračním příkazu‘ Pro ‚ je napsán nahoře, proto se spustí až po provedení všech příkazů ve smyčce. | ve smyčce ‚while‘ lze příkaz iterace zapsat kdekoli ve smyčce. |
Definice pro smyčce
V Javě, tam jsou dvě formy pro smyčky. První forma je „tradiční“ forma a druhá je“ pro-každý “ formulář.
syntaxe
obecná forma příkazu traditional for loop.
for (initialization; condition; iteration){//body of for loop}
- inicializace: inicializace proměnné pro smyčku se provádí pouze jednou, během první iterace smyčky. Tady, smyčka kontrolní proměnná je inicializována, někdy, pokud se proměnná smyčky není znovu použít kdekoliv v programu a slouží pouze jako řídicí proměnná smyčky, pak to je jak deklarovány a inicializovány v “ pro “ smyčky.
- podmínka: podmínka smyčky ‚pro‘ se provádí pokaždé, když je smyčka iterována.
- Přírůstek a iterace: iterace prohlášení je vyjádřením, že přírůstek nebo sníží smyčky kontrolní proměnné.
kdykoli je smyčka spuštěna, nejprve se provede její Inicializační podmínka; poté je stav zkontrolován. Pokud je podmínka splněna, provede se tělo smyčky a provede se iterační příkaz. Poté se znovu zkontroluje podmínka, aby se zjistilo, zda se smyčka bude dále iterovat nebo bude ukončena.
v Javě může příkaz inicializace a příkaz iterace obsahovat více než jeden příkaz. Každý příkaz je oddělen jiným čárkou, v Javě je čárka oddělovačem, zatímco v C++ je“ čárka “ operátorem, který lze použít v jakémkoli platném výrazu.
pro-každou smyčku a její syntaxi
formulář „pro-každou“ je vylepšený pro smyčku. Obecná forma smyčky pro každou smyčku je následující.
for(type iter_variable: collection) statement-block
zde“ typ “ určuje typ iterační proměnné, následovaný iterační proměnnou. Iterační proměnná obdrží prvek z proměnné kolekce. Typ musí být stejný jako typ prvků uložených v proměnné kolekce. Pro-každá forma smyčky for automatizuje iteraci smyčky od začátku do konce přístupu k hodnotám v sekvenčním pořadí.
příklad
existují různé typy kolekce používané pro smyčku. Pojďme o tom diskutovat s polem jako sbírkou.
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
zde je ‚ c ‚ 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 iteruje, dokud nejsou zkoumány všechny prvky pole. Smyčku mezi nimi je možné ukončit pomocí „break“. Změna iterační proměnné však neovlivní pole, protože se jedná pouze o proměnnou pouze pro čtení.
definice smyčky while
smyčka while je nejzákladnější smyčkou dostupnou v C++ a Javě. Práce smyčky while je podobná jak v C++, tak v Javě.
Syntax
prohlášení, zatímco smyčka je následující
while ( condition) {statements; //body of loop}
while nejprve kontroluje stav a pak se spustí závěrka, dokud podmínka ve while ukáže být pravda. Podmínkou v while smyčce může být libovolný booleovský výraz. Když výraz vrátí jakoukoli nenulovou hodnotu, pak je podmínka pravdivá a pokud výraz vrátí nulovou hodnotu, podmínka se stane nepravdivou.
Pokud je podmínka splněna, pak se smyčka iteruje sám, a je-li podmínka hodnotu false, pak kontrola přechází na další řádek kódu bezprostředně následuje smyčka. Příkazy nebo smyčka těla mohou být buď prázdným příkazem nebo jediným příkazem nebo blokem příkazů.
příklad
pojďme diskutovat o práci smyčky while. V níže uvedeném příkladu bude kód tisknout od 1 do 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
zde je počáteční hodnota ‚n‘ 0, což činí podmínku ve smyčce while true. Ovládací prvek pak vstupuje do těla while smyčky a hodnota ‚n‘ se zvyšuje podle prvního prohlášení v těle while smyčky.
hodnota “ n „je tisknout, pak se ovládání vrátí do stavu, ve while, nyní se hodnota“ n “ je 1, která opět splňuje podmínku, a tělo smyčky je proveden znovu. Toto pokračuje, dokud není podmínka pravdivá, jakmile se podmínka stane nepravdivou, smyčka je ukončena.
podobně jako smyčka ‚ for ‚může smyčka‘ while ‚ inicializovat také řídicí proměnnou v horní části smyčky, tj. během kontroly stavu.
//for examplewhile((ch = getchar( ) ) != 'A'){System.out.println(" The input alphabet " +ch);}
zde je inicializována řídicí proměnná “ ch “ a stav smyčky je ověřen v horní části smyčky.
Poznámka
Může to být cyklus for nebo while, pokud je tam jen jeden příkaz v těle cyklu, složené závorky nejsou nutné v tomto stavu.
Klíčové Rozdíly Mezi for a while
- V pro smyčky, inicializace, podmínka kontroly, a zvyšovat nebo snižovat iterace proměnná je provedeno výslovně v syntaxi smyčky. Jako proti, ve smyčce while můžeme pouze Inicializovat a zkontrolovat stav v syntaxi smyčky.
- když jsme si vědomi počtu iterací, které musí nastat při provádění smyčky, použijeme pro smyčku. Na druhou stranu, pokud si nejsme vědomi počtu iterací, ke kterým musí dojít ve smyčce, použijeme while loop.
- pokud se vám nepodaří zadat příkaz podmínka pro smyčku, povede to k nekonečné iteraci smyčky. Na rozdíl od toho, pokud se vám nepodaří dát podmínku ve smyčce while to povede k chybě kompilace.
- příkaz inicializace v syntaxi for loop se spustí pouze jednou na začátku smyčky. Naopak, pokud smyčka while nese příkaz inicializace ve své syntaxi, pak příkaz inicializace ve smyčce while provede pokaždé, když smyčka iteruje.
- příkaz iterace ve smyčce for se spustí po provedení smyčky body for loop. Naopak, iterační příkaz může být zapsán kdekoli v těle smyčky while, takže mohou existovat některé příkazy, které se provádějí po provedení iteračního příkazu v těle smyčky while.
závěr
smyčka for a while jsou obě iterační příkazy, ale obě mají svou odlišnou vlastnost. Smyčka for má všechny deklarace (inicializace, podmínka, iterace) v horní části těla smyčky. Nepříznivě, v zatímco smyčka je pouze inicializace a podmínka v horní části těla smyčky a iterace může být zapsána kdekoli v těle smyčky.