Põhierinevus – Loop vs Foreach Loop
Nii silmus kui ka foreach on juhtstruktuurid, mida kasutatakse lauseploki kordamiseks. Programmeerimisel on korduste juhtimisstruktuurid, mis võimaldavad lausete plokki ikka ja jälle täita. Üks levinud juhtimisstruktuur on silmuse jaoks. For loop on iteratsiooniks kasutatav juhtimisvoostruktuur, mis võimaldab koodi korduv alt käivitada. See sisaldab initsialiseerimist, testavaldist ja värskendusavaldist. Korratavad avaldused sisalduvad lokkis traksides. Foreach silmus on silmuse jaoks täiustatud. See suurendab koodi loetavust ja seda on lihtne kirjutada. Lausekomplekti kordamiseks kasutatakse nii for loop kui ka foreach tsüklit, kuid süntaks on erinev. Peamine erinevus silmuse ja foreach tsükli vahel on see, et foreach on üldotstarbeline juhtstruktuur, samas kui foreach on täiustatud silmus, mis on rakendatav ainult massiivide ja kogude puhul.
Mis on loopi jaoks?
For-silmus on tavaline kordusstruktuur. See aitab programmis lauset või lausete komplekti korrata. For-tsükli süntaks on järgmine.
for(initsialiseerimine; testavaldis; värskenda avaldist){
// kood for-tsüklis
}
Initsialiseerimine toimub kõigepe alt. Seejärel kontrollitakse testavaldist. Kui hinnatud vastus on tõene, käivitub for-tsükli sees olev kood. For-tsükli viimase lause lõpus hinnatakse uuendusavaldist. Seejärel hinnatakse testavaldist uuesti. Kui see on tõsi, käivitub for-tsükli sees olev kood. For-tsükli lõpus hinnatakse uuendusavaldist uuesti ja kontrollitakse testavaldisega. Seda protsessi korratakse, kuni testavaldis muutub valeks. Kui see muutub vääraks, for-silmus lõpeb.
Joonis 01: Programm for-tsükli ja foreach-tsükliga
Vastav alt ül altoodud programmile võib massiiv1 salvestada mitu täisarvu tüüpi elementi. For-tsüklis on i 0. See on väiksem kui 5. Seega trükitakse massiivi1 0. indeksielement. See on number 10. Seejärel suurendatakse i-d uuendusavaldise tõttu. Nüüd on i väärtus 1. See on väiksem kui 5. Seega trükitakse massiivi1 1. indeksielement. Jällegi suurendatakse i-d. See protsess jätkub. Kui i väärtuseks saab 5, on testavaldis väär, kuna see ei ole väiksem kui 5. Niisiis, tsükkel lõpeb.
Mis on foreach Loop?
Foreach-silmus on mugav viis massiivi või kogumi elementide toomiseks. Seda saab kasutada tsükli jaoks alternatiivina. Seda nimetatakse foreach-tsükliks, kuna see itereerib läbi massiivi või kogu iga elemendi. Foreach-tsükli süntaks on järgmine.
for(andmetüübiüksus: kogu){
//kood iga tsükli sees
}
Kogumik on massiiv või kogu, mida tuleks itereerida. Üksus on kollektsiooni üksik element. Foreach-tsükkel itereerub läbi iga elemendi ja salvestab selle elemendi muutuvasse üksusesse. Seejärel täidab laused foreach-tsükli sees.
Vastav alt ül altoodud programmile salvestab massiiv1 mitu täisarvu. Täiustatud tsüklit kasutatakse massiivi elementide itereerimiseks. Iga element salvestatakse muutujasse i ja käivitatakse foreach-tsükli sees olev kood. Foreach-silmus täidab samu ülesandeid kui for-silmus, kuid see on loetavam ja hõlpsamini kirjutatav. Seetõttu tuntakse seda kui "täiustatud silmust".
Mis on sarnasus for Loopi ja foreach Loopi vahel?
Nii tsükli kui ka foreach tsükli jaoks saab kasutada lausete komplekti mitu korda täitmiseks
Mis vahe on tsüklil foreach ja foreach?
for Loop vs foreach Loop |
|
For-silmus on juhtstruktuur iteratsiooni määramiseks, mis võimaldab koodi korduv alt käivitada. | Foreach silmus on juhtstruktuur massiivi või kogu üksuste läbimiseks. |
Elemendi toomine | |
A for loop saab kasutada teatud elementide komplekti toomiseks. | Foreach-tsüklit ei saa kasutada teatud elementide komplekti toomiseks. |
Lugetavus | |
Foreachi tsüklit on raskem lugeda ja kirjutada. | Foreach-tsüklit on lihtsam lugeda ja kirjutada kui for-tsüklit. |
Kasutus | |
For-tsüklit kasutatakse üldotstarbelise tsüklina. | Foreach-tsüklit kasutatakse massiivide ja kogude jaoks. |
Kokkuvõte – Loop vs foreach Loop
Programmeerimisel on mõnikord vaja koodi korrata. Selle ülesande täitmiseks kasutatakse tavaliselt for-silmust. For loop on iteratsiooniks kasutatav juhtimisvoostruktuur, mis võimaldab koodi korduv alt käivitada. Foreach-silmust on täiustatud silmuse jaoks, mida on lihtne lugeda ja kirjutada. Silmuse ja foreach tsükli erinevus seisneb selles, et foreach on üldotstarbeline juhtstruktuur, samas kui foreach silmus on täiustatud silmus, mis on rakendatav ainult massiivide ja kogude puhul.