Klíčový rozdíl – pro smyčku vs foreach smyčku
Smyčka for i smyčka foreach jsou řídicí struktury, které se používají k opakování bloku příkazů. V programování existují struktury řízení opakování, které znovu a znovu provádějí blok příkazů. Jedna běžná řídicí struktura je pro smyčku. Smyčka for je struktura řídicího toku používaná pro iteraci, která umožňuje opakované provádění kódu. Obsahuje inicializační, testovací výraz a aktualizační výraz. Příkazy k opakování jsou zahrnuty ve složených závorkách. Foreach smyčka je vylepšena pro smyčku. Zvyšuje čitelnost kódu a snadno se píše. Jak smyčka for, tak smyčka foreach se používají k opakování sady příkazů, ale syntaxe je odlišná. Klíčový rozdíl mezi smyčkou for Loop a smyčkou foreach je v tom, že smyčka for je obecná řídicí struktura, zatímco smyčka foreach je vylepšená smyčka for, která je použitelná pouze pro pole a kolekce.
Co je pro Loop?
Smyčka for je běžná struktura opakování. Pomáhá iterovat příkazem nebo sadou příkazů v programu. Syntaxe cyklu for je následující.
for(inicializace; testovací výraz; aktualizace výrazu){
// kód uvnitř smyčky for
}
Inicializace proběhne jako první. Poté se zkontroluje testovací výraz. Pokud je vyhodnocená odpověď pravdivá, provede se kód uvnitř cyklu for. Na konci posledního příkazu cyklu for je vyhodnocen aktualizační výraz. Poté je testovací výraz znovu vyhodnocen. Pokud je to pravda, provede se kód uvnitř cyklu for. Na konci cyklu for je aktualizační výraz znovu vyhodnocen a zkontrolován pomocí testovacího výrazu. Tento proces se opakuje, dokud se testovací výraz nestane nepravdivým. Když se stane false, cyklus for se ukončí.
Obrázek 01: Program se smyčkou for a foreach
Podle výše uvedeného programu může pole1 uložit více prvků typu integer. Ve smyčce for je i 0. Je menší než 5. Vytiskne se tedy 0. prvek indexu pole1. Je to číslo 10. Potom se i zvýší díky aktualizačnímu výrazu. Nyní je hodnota i 1. Je menší než 5. Vytiskne se tedy 1. prvek indexu pole1. Znovu se zvýší i. Tento proces pokračuje. Když se hodnota i stane 5, testovací výraz je nepravdivý, protože není menší než 5. Takže smyčka končí.
Co je foreach Loop?
Smyčka foreach je pohodlný způsob, jak získat prvky pole nebo kolekce. Lze jej použít jako alternativu ke smyčce for. Označuje se jako smyčka foreach, protože iteruje každým prvkem pole nebo kolekce. Syntaxe smyčky foreach je následující.
for(položka datového typu: kolekce){
//kód uvnitř pro každou smyčku
}
Kolekce je pole nebo kolekce, která by měla být iterována. Předmět je jediným prvkem z kolekce. Smyčka foreach prochází každým prvkem a ukládá jej do proměnné položky. Poté provede příkazy uvnitř cyklu foreach.
Podle výše uvedeného programu pole1 ukládá více celých čísel. Vylepšená smyčka for se používá k iteraci mezi prvky pole. Každý prvek je uložen do proměnné i a kód uvnitř smyčky foreach se provede. Smyčka foreach dosahuje stejných úkolů jako smyčka for, ale je čitelnější a snadno se píše. Proto je známá jako „vylepšená smyčka for“.
Jaká je podobnost mezi smyčkou a smyčkou foreach?
Smyčky for i foreach lze použít k několikanásobnému provedení sady příkazů
Jaký je rozdíl mezi smyčkou for a smyčkou foreach?
pro Loop vs foreach Loop |
|
Smyčka for je řídicí struktura pro specifikaci iterace, která umožňuje opakované provádění kódu. | Smyčka foreach je řídicí struktura pro procházení položek v poli nebo kolekci. |
Načítání prvků | |
Smyčku for lze použít k načtení konkrétní sady prvků. | Smyčku foreach nelze použít k načtení konkrétní sady prvků. |
Čitelnost | |
Smyčka for se čte a píše hůře než smyčka foreach. | Smyčka foreach se čte a zapisuje snadněji než smyčka for. |
Použití | |
Smyčka for se používá jako smyčka pro všeobecné použití. | Smyčka foreach se používá pro pole a kolekce. |
Shrnutí – pro smyčku vs foreach smyčku
Při programování je někdy nutné kód opakovat. K dosažení tohoto úkolu se běžně používá cyklus for. Smyčka for je struktura řídicího toku používaná pro iteraci, která umožňuje opakované provádění kódu. Smyčka foreach je vylepšena pro smyčku, která se snadno čte a zapisuje. Rozdíl mezi smyčkou for a smyčkou foreach je v tom, že smyčka for je univerzální řídicí struktura, zatímco smyčka foreach je vylepšená smyčka for, která je použitelná pouze pro pole a kolekce.