1. Paghahambing ng mga loop: for
vswhile
Ang isang while
loop ay maaaring gamitin kahit saan ang isang pahayag o grupo ng mga pahayag ay kailangang isagawa nang maraming beses. Ngunit sa lahat ng posibleng mga sitwasyon, ang isa ay nagkakahalaga ng pag-highlight.
Pinag-uusapan natin ang sitwasyon kung kailan alam ng programmer (tagalikha ng programa) nang maaga kung gaano karaming beses dapat isagawa ang loop. Karaniwan itong pinangangasiwaan sa pamamagitan ng pagdedeklara ng isang espesyal na counter variable, at pagkatapos ay pinapataas (o binabawasan) ang variable sa pamamagitan ng 1
bawat pag-ulit ng loop.
Mukhang gumagana ang lahat ayon sa nararapat, ngunit hindi ito masyadong maginhawa. Bago ang loop, itinakda namin ang paunang halaga ng counter variable. Pagkatapos ay sa kondisyon na tinitingnan namin kung naabot na nito ang huling halaga. Ngunit karaniwan naming binabago ang halaga sa pinakadulo ng katawan ng loop.
At paano kung ang katawan ng loop ay malaki? O kung mayroon kaming ilang mga nested na mga loop? Sa pangkalahatan, sa mga kasong ito, kanais-nais na kolektahin ang lahat ng impormasyong ito tungkol sa mga counter variable sa isang lugar. At iyon ang dahilan kung bakit mayroon kaming for
loop sa Java. Hindi rin ito mukhang masyadong kumplikado:
for (statement 1; condition; statement 2)
{
block of statements
}
Ang isang while
loop ay may kundisyon lamang sa mga panaklong, ngunit ang isang for
loop ay nagdaragdag ng dalawang pahayag, na pinaghihiwalay ng mga semicolon.
Ang katotohanan ay mas simple kaysa sa tunog: ang compiler ay nagko-convert ng isang for
loop sa isang ordinaryong while
loop tulad nito:
statement 1;
while (condition)
{
block of statements
statement 2;
}
O mas mabuti pa, ipakita natin ito sa isang halimbawa. Magkapareho ang dalawang snippet ng code sa ibaba.
Opsyon 1 | Opsyon 2 |
---|---|
|
|
Inipon lang namin sa isang lugar ang lahat ng code na nauugnay sa i
counter variable.
Sa isang for
loop, ang statement 1 ay isasagawa nang isang beses lang, bago magsimula ang loop mismo. Malinaw itong makikita sa pangalawang snippet ng code
Ang pahayag 2 ay isinagawa sa parehong bilang ng mga beses sa katawan ng loop, at sa bawat oras na ito ay naisakatuparan pagkatapos na ang buong katawan ng loop ay naisakatuparan
2. Kung saan for
ginagamit ang loop
Ang for
loop ay marahil ang pinaka ginagamit na uri ng loop sa Java. Ito ay ginagamit sa lahat ng dako, para sa mga programmer ito ay mas malinaw at mas maginhawa kaysa sa isang while
loop. Halos anumang while
loop ay maaaring ma-convert sa isang for
loop.
Mga halimbawa:
habang umiikot | para sa loop |
---|---|
|
|
|
|
|
|
|
|
|
|
Bigyang-pansin ang huling halimbawa. Ang mga pahayag para sa pagtatrabaho sa loop counter ay nawawala. Walang kontra at walang pahayag.
Sa isang for
loop, hinahayaan ka ng Java na alisin ang "statement para masimulan ang counter" at ang "statement to update the counter". Kahit na ang expression na tumutukoy sa kondisyon ng loop ay maaaring tanggalin.
3. Nuances ng paggamit ng for
loop
Isang mahalagang punto tungkol sa paggamit for
ng mga loop at break
at continue
mga pahayag.
Gumagana ang isang break
statement sa isang for
loop tulad ng sa isang while
loop - tinatapos nito kaagad ang loop. Nilaktawan ng continue
statement ang loop body, ngunit hindi statement 2
(na nagbabago sa loop counter).
Tingnan natin muli kung paano nauugnay for
ang mga loop.while
for (statement 1; condition; statement 2)
{
block of statements
}
statement 1;
while (condition)
{
block of statements
statement 2;
}
Kung ang isang continue
pahayag ay naisakatuparan sa isang for
loop , ang natitirang bahagi ng bloke ng mga pahayag ay nilaktawan, ngunit ang pahayag 2 (ang isa na gumagana sa for
counter variable ng loop) ay isinasagawa pa rin.
Bumalik tayo sa ating halimbawa sa paglaktaw ng mga numero na nahahati sa 7.
Mag-loop ang code na ito magpakailanman | Ang code na ito ay gagana nang maayos |
---|---|
|
|
Ang code na gumagamit ng while
loop ay hindi gagana — ako ay hindi hihigit sa 7. Ngunit ang code na may for
loop ay gagana nang maayos.
4. Paghahambing para sa mga loop: Java vs Pascal
Siyanga pala, may For
loop din si Pascal. Sa pangkalahatan, mahalagang bawat programming language ay may isa. Ngunit sa Pascal ito ay napakalinaw. Mga halimbawa:
Pascal | Java |
---|---|
|
|
|
|
|
|
GO TO FULL VERSION