1. Mga loop sa ating buhay
Kadalasan ang ating buhay ay nangangailangan sa atin na gawin ang parehong mga aksyon nang maraming beses. Halimbawa, ipagpalagay na kailangan kong mag-scan ng isang dokumento na binubuo ng maraming mga pahina. Na paulit-ulit naming ulitin ang parehong pamamaraan:
- Ilagay ang unang pahina sa scanner
- Pindutin ang scan button
- Ilagay ang susunod na pahina sa scanner
Ito ay mahirap gawin nang manu-mano. Magiging maganda kung ang prosesong ito ay maaaring maging awtomatiko.
O isaalang-alang ang isa pang halimbawa: sabihin nating gusto kong markahan ang lahat ng hindi pa nababasang email sa aking inbox bilang spam. Noong unang panahon, kailangan kong piliin ang bawat email nang paisa-isa at markahan ito bilang spam.
Ngunit tamad ang mga programmer, kaya na-automate na nila ang prosesong ito matagal na ang nakalipas: ngayon ay pipili ka lang ng anumang listahan ng mga titik at i-click ang "markahan bilang spam", at pagkatapos ay tatakbo ang iyong email client sa listahan at inililipat ang bawat email sa folder ng spam.
Ano ang masasabi natin dito? Ito ay sobrang maginhawa kapag ang isang computer o program ay maaaring magsagawa ng daan-daan o libu-libong mga monotonous na operasyon sa isang click. At ngayon matututunan mo rin kung paano gawin ito.
2. while
loop
Ang if-else na pahayag ay makabuluhang pinalawak ang aming mga kakayahan sa programming, na ginagawang posible na magsulat ng mga program na gumaganap ng iba't ibang mga aksyon sa iba't ibang mga sitwasyon. Ngunit may isa pang bagay na gagawing mas malakas ang aming mga programa sa pagkakasunud-sunod ng magnitude — mga loop .
Ang Java ay may 4 na uri ng mga loop: while
, for
, for-each
at do-while
. Susuriin natin ngayon ang pinakauna sa mga ito.
Ang isang while
loop ay napaka-simple. Binubuo lamang ito ng dalawang bahagi: isang kundisyon at isang katawan ng loop . Ang loop body ay paulit-ulit na isinasagawa hangga't ang kundisyon ay true
. Sa pangkalahatan, while
ganito ang hitsura ng isang loop:
while (condition)
statement;
while
loop na may iisang pahayag
while (condition)
{
block of statements
}
while
loop na may isang bloke ng mga pahayag
Ito ay napaka-simple. Ang pahayag o bloke ng mga pahayag ay paulit-ulit na isinasagawa hangga't ang kondisyon ng loop ay katumbas true
.
Ganito ito gumagana: una, sinusuri ang kundisyon . Kung ito ay totoo, pagkatapos ay ang loop body ay pinaandar (ang pahayag o bloke ng mga pahayag ). Pagkatapos ay susuriin muli ang kundisyon at muling ipapatupad ang loop body . At iba pa hanggang sa maging mali ang kundisyon .
Kung palaging totoo ang kundisyon , hinding-hindi titigil sa pagtakbo ang program. Ito ay permanenteng maiipit sa loop.
Kung mali ang kundisyon sa unang pagkakataong ito ay nasuri , ang katawan ng loop ay hindi isasagawa kahit isang beses.
3. Mga halimbawa ng mga loop
Narito ang ilang praktikal na halimbawa ng mga loop sa pagkilos.
Code | Paliwanag |
---|---|
|
5 linya ang ipapakita sa screen:
|
Code | Paliwanag |
---|---|
|
10 linya ang ipapakita sa screen:
|
Code | Paliwanag |
---|---|
|
Ang programa ay nagbabasa ng mga numero mula sa keyboard hangga't ang mga numero ay ipinasok. |
Code | Paliwanag |
---|---|
|
Ang programa ay walang katapusang i-print ang sulat C sa screen. |
Code | Paliwanag |
---|---|
|
Ang programa ay magbabasa ng mga linya mula sa keyboard
hanggang |
Sa nakaraang halimbawa, ang equals()
pamamaraan ay ginagamit upang ihambing ang mga string. Kung pantay ang mga string, babalik ang function true
. Kung hindi pantay ang mga string, babalik ito false
.
4. Loop sa loob ng isang loop
Habang nalaman mo ang tungkol sa mga conditional na pahayag, nakita mo na magagamit mo ang mga ito upang ipatupad ang kumplikadong lohika sa pamamagitan ng pagsasama-sama ng maraming conditional na pahayag. Sa madaling salita, sa pamamagitan ng paggamit ng isang if
pahayag sa loob ng isang if
pahayag.
Maaari mong gawin ang parehong bagay sa mga loop. Upang magsulat ng isang loop sa loob ng isang loop, kailangan mong isulat ang pangalawang loop sa loob ng katawan ng unang loop. Magiging ganito ang hitsura nito:
while (condition for outer loop)
{
while (condition for inner loop)
{
block of statements
}
}
while
loop (na may isang bloke ng mga pahayag ) sa loob ng isa pang while
loop
Tingnan natin ang tatlong gawain.
Gawain 1 . Sabihin nating gusto naming magsulat ng isang programa na nagpapakita ng salita Mom
sa screen ng 4 na beses. Ang isang loop ay eksakto kung ano ang kailangan namin. At ang aming code ay magiging ganito ang hitsura:
Code | Paliwanag |
---|---|
|
4 na linya ang ipapakita sa screen:
|
Gawain 2 . Nais naming magsulat ng isang programa na nagpapakita ng 5 titik A
s sa isang linya. Upang gawin ito, kailangan namin ng isang loop muli. Ito ang magiging hitsura ng code:
Code | Paliwanag |
---|---|
|
Sa halip na println() , gagamitin natin ang print() . Kung hindi, ang bawat titik A ay magtatapos sa isang hiwalay na linya. Ang output ng screen ay magiging:
|
Gawain 3 . Nais naming magpakita ng isang parihaba na binubuo ng mga titik A
s. Ang parihaba ay dapat na binubuo ng 4 na hanay ng 5 hanay. Upang magawa ito, kailangan na namin ngayon ng isang nested loop. Kukunin lang namin ang aming unang halimbawa (ang isa kung saan naglalabas kami ng 4 na linya) at palitan ang code para sa pag-output ng isang linya ng code mula sa pangalawang halimbawa.
Code | Paliwanag |
---|---|
|
Ang panlabas na loop ay lila. Ginagamit nito ang n variable upang mabilang ang bilang ng mga pag-ulit ng loop. Ang panloob na loop ay berde. Ginagamit nito ang m variable upang mabilang ang bilang ng mga pag-ulit ng loop. Kailangan nating tahasang ilipat ang cursor sa susunod na linya pagkatapos makumpleto ang panloob na loop. Kung hindi, ang lahat ng mga titik na nai-print ng programa ay mapupunta sa isang linya. Ang output ng screen ay magiging:
|
Ang panlabas at panloob na mga loop ay dapat gumamit ng iba't ibang mga variable upang mabilang ang bilang ng mga pag-ulit ng loop. Kinailangan din naming idagdag ang System.out.println()
utos pagkatapos ng panloob na loop, dahil ang loop na iyon ay nagpapakita ng mga titik А
s sa parehong linya. Kapag naipakita na ang mga titik sa isang linya, kailangang ilipat ng isang tao ang cursor sa isang bagong linya.
5. Paghahambing ng mga loop Java vs Pascal
Marami sa inyo ang nag-aral ng Pascal noong high school. Upang gawing mas madali para sa iyo na maunawaan ang materyal dito, tingnan ang paghahambing na ito ng while
mga loop na nakasulat sa Pascal at Java. Kung hindi mo kilala si Pascal, laktawan mo na lang ang bahaging ito.
Pascal | Java |
---|---|
|
|
|
|
|
|
|
|
|
|
GO TO FULL VERSION