Kľúčový rozdiel – pre slučku a pre každú slučku
Oboje, cyklus for aj cyklus foreach sú riadiace štruktúry, ktoré sa používajú na opakovanie bloku príkazov. V programovaní existujú štruktúry kontroly opakovania, ktoré opakovane vykonávajú blok príkazov. Jedna spoločná riadiaca štruktúra je pre slučku. Slučka for je štruktúra riadiaceho toku používaná na iteráciu, ktorá umožňuje opakované vykonávanie kódu. Obsahuje inicializačný, testovací výraz a aktualizačný výraz. Príkazy na opakovanie sú zahrnuté v zložených zátvorkách. Foreach slučka je vylepšená pre slučku. Zvyšuje čitateľnosť kódu a ľahko sa píše. Cyklus for aj cyklus foreach sa používajú na opakovanie sady príkazov, ale syntax je odlišná. Kľúčový rozdiel medzi slučkou for Loop a slučkou foreach je v tom, že slučka for je univerzálna riadiaca štruktúra, zatiaľ čo slučka foreach je vylepšená slučka for, ktorá je použiteľná iba pre polia a kolekcie.
Čo je pre Loop?
Slučka for je bežná štruktúra opakovania. Pomáha iterovať cez príkaz alebo množinu príkazov v programe. Syntax cyklu for je nasledovná.
for(inicializácia; testovací výraz; aktualizácia výrazu){
// kód v slučke for
}
Inicializácia prebehne ako prvá. Potom sa skontroluje testovací výraz. Ak je vyhodnotená odpoveď pravdivá, vykoná sa kód v rámci cyklu for. Na konci posledného príkazu cyklu for sa vyhodnotí výraz aktualizácie. Potom sa znova vyhodnotí testovací výraz. Ak je to pravda, vykoná sa kód v rámci cyklu for. Na konci cyklu for sa znova vyhodnotí aktualizačný výraz a skontroluje sa pomocou testovacieho výrazu. Tento proces sa opakuje, kým sa testovací výraz nestane falošným. Keď sa stane false, cyklus for sa ukončí.
Obrázok 01: Program so slučkou for a foreach
Podľa vyššie uvedeného programu môže pole1 uložiť viacero prvkov typu integer. V slučke for je i 0. Je menšie ako 5. Vytlačí sa teda 0. prvok indexu poľa1. Je to číslo 10. Potom sa i zvýši vďaka aktualizačnému výrazu. Teraz je hodnota i 1. Je menšia ako 5. Vytlačí sa teda 1. prvok indexu poľa1. I sa opäť zvýši. Tento proces pokračuje. Keď sa hodnota i stane 5, testovací výraz je nepravdivý, pretože nie je menší ako 5. Takže slučka končí.
Čo je foreach Loop?
Slučka foreach je pohodlný spôsob, ako získať prvky poľa alebo kolekcie. Môže sa použiť ako alternatíva k slučke for. Označuje sa ako slučka foreach, pretože iteruje cez každý prvok poľa alebo kolekcie. Syntax slučky foreach je nasledovná.
for(položka typu údajov: zbierka){
//kód vnútri pre každú slučku
}
Kolekcia je pole alebo kolekcia, ktorá by sa mala iterovať. Predmet je jediným prvkom z kolekcie. Cyklus foreach iteruje cez každý prvok a uloží tento prvok do premennej položky. Potom vykoná príkazy v rámci cyklu foreach.
Podľa vyššie uvedeného programu pole1 ukladá viacero celých čísel. Vylepšený cyklus for sa používa na iteráciu cez prvky poľa. Každý prvok sa uloží do premennej i a vykoná sa kód vnútri cyklu foreach. Slučka foreach dosahuje rovnaké úlohy ako slučka for, je však čitateľnejšia a ľahšie sa píše. Preto je známy ako „vylepšená slučka for“.
Aká je podobnosť medzi slučkou a slučkou foreach?
Slučky for aj foreach možno použiť na vykonanie súboru príkazov viackrát
Aký je rozdiel medzi slučkou for a slučkou foreach?
pre Loop vs foreach Loop |
|
Slučka for je riadiaca štruktúra na špecifikovanie iterácie, ktorá umožňuje opakované vykonávanie kódu. | Slučka foreach je riadiaca štruktúra na prechádzanie položkami v poli alebo kolekcii. |
Načítanie prvkov | |
Slučku for možno použiť na získanie konkrétnej množiny prvkov. | Slučka foreach sa nedá použiť na získanie konkrétnej množiny prvkov. |
Čitateľnosť | |
Slučka for sa číta a zapisuje ťažšie ako slučka foreach. | Slučka foreach sa číta a zapisuje ľahšie ako slučka for. |
Použitie | |
Slučka for sa používa ako slučka na všeobecné použitie. | Slučka foreach sa používa pre polia a kolekcie. |
Súhrn – pre slučku verzus foreach slučku
Pri programovaní je niekedy potrebné zopakovať kód. Na dosiahnutie tejto úlohy sa bežne používa cyklus for. Slučka for je štruktúra riadiaceho toku používaná na iteráciu, ktorá umožňuje opakované vykonávanie kódu. Slučka foreach je vylepšená pre slučku, ktorá sa ľahko číta a zapisuje. Rozdiel medzi slučkou for a slučkou foreach je v tom, že slučka for je univerzálna riadiaca štruktúra, zatiaľ čo slučka foreach je vylepšená slučka for, ktorá je použiteľná len pre polia a kolekcie.