"Hi, Amigo!
"Hi Ellie."
"Napag-aralan mo na ang mga loop, at iyan ay cool."
"Sumasang-ayon ako! Ngayon ay hindi ko na alam kung paano mamuhay nang wala sila."
"Minsan magagawa mo nang wala sila... Ngunit mas madalas na kakailanganin mo ang mga ito. Ngayon ay pag-uusapan natin ang sitwasyon kung kailan kailangan mong umalis sa isang loop nang mas maaga sa iskedyul."
"Ang ibig mo bang sabihin, kapag ang kondisyon para sa pagpapatuloy ng loop ay totoo, ngunit kailangan mo pa ring lumabas sa loop?"
"Eksakto! Minsan parang programmer ka na. Gayon pa man, para makaalis sa isang loop nang mas maaga sa iskedyul, maaari mong gamitin ang break statement. Tingnan ang sumusunod na halimbawa:
Code | Paliwanag |
---|---|
|
Magbabasa ang program ng isang linya mula sa keyboard, hanggang sa ipasok mo ang "exit" . |
"Nakikita ko. Ang programa ay nagbabasa ng mga linya mula sa console. Kung ipinasok mo ang "exit"
, ang isExit
variable ay magiging true
, ang loop condition ay , at ang loop ay magtatapos."!isExit
false
"Tama iyan. Kaya, ang Java ay may isang espesyal break
na pahayag na hinahayaan kang pasimplehin ang gayong lohika. Kung ang isang break
pahayag ay naisakatuparan sa loob ng isang loop, pagkatapos ay ang loop ay nagtatapos kaagad. Ang programa ay magsisimulang isagawa ang pahayag na sumusunod sa loop. Ang pahayag ay napakaikli. :
break;
"Narito kung paano mo magagamit ang break
pahayag upang muling isulat ang halimbawang tinalakay natin:
Code | Paliwanag |
---|---|
|
Magbabasa ang program ng isang linya mula sa keyboard, hanggang sa ipasok mo ang "exit" . |
"Baka maaalala ko 'yon. Pakiramdam ko, magiging kapaki-pakinabang 'yon."
"Ngunit break
hindi ang tanging Java statement na nagbibigay-daan sa iyong kontrolin ang pag-uugali ng isang loop. Ang Java ay mayroon ding continue
statement. Kung magpapatupad ka ng isang continue
pahayag sa loob ng isang loop, ang kasalukuyang pag-ulit ng loop ay magtatapos nang mas maaga sa iskedyul."
"Ano ang ibig mong sabihin sa pag-ulit?"
"Ang pag-ulit ng loop ay isang pagpapatupad ng katawan ng loop. Ang continue
pahayag ay nakakaabala sa kasalukuyang pag-ulit ng loop, ngunit hindi tulad ng break
pahayag, hindi nito tinatapos ang loop mismo. Ang pahayag ay maikli din:
continue;
"Kaya, ang continue
pahayag ay maaaring gamitin sa isang loop kung gusto nating 'laktawan' ang pagpapatupad ng ilang mga pag-ulit ng loop?"
"Eksakto. Naiintindihan mo ba ang pagkakaiba sa pagitan break
ng at continue
? Kung kailangan mong humanap ng pito sa 20 hindi umuulit na digit, anong uri ng loop at loop interruption statement ang gagamitin mo?
"Hmm... Susuriin ko ang lahat ng mga numero, at kung makakita ako ng 7, pagkatapos ay ipapatupad ko ang isang break
."
"Paano kung kailangan mong magpakita ng mga numero mula 1
hanggang 20
maliban sa mga numero na nahahati ng 7
?"
"Well, here I probably need continue
, since I don't want to exit the loop. Pero hindi ko pa rin masyadong maintindihan."
"Hayaan mong ipakita ko sa iyo kung paano lutasin ang problemang ito. Ito ang maaaring hitsura ng code na ito."
Code | Paliwanag |
---|---|
|
Ang programa ay nagpapakita ng mga numero mula 1 hanggang 20 . Kung ang numero ay nahahati sa 7 (ang natitirang dibisyon sa 7 ay 0 ), pagkatapos ay laktawan namin ang pagpapakita ng numero. |
"Why are you looking at me so suspiciously, Ellie? May nahuli ba dito?"
"Hindi ka malinlang, Amigo! Sa katunayan, ang code na ito ay hindi gagana nang tama . Ipapakita nito ang unang 6 na numero, at pagkatapos i
ay mananatili magpakailanman na nananatili sa numero 7
. Pagkatapos ng lahat, ang continue
pahayag ay lumalaktaw sa dalawang iba pang mga pahayag: System.out.println(i)
at i++
. Bilang isang resulta, kapag naabot natin ang value , hihinto ang pagbabago ng 7
variable at mapupunta tayo sa isang infinite loop. Sinadya kong isinulat ang code sa ganitong paraan upang ilarawan ang isang napakakaraniwang pagkakamali."i
"Paano natin ito aayusin?"
"Mayroong dalawang opsyon dito:"
Opsyon 1: baguhin i
bago isagawa continue
, ngunit pagkataposi % 7
Opsyon 2: palaging dagdagan i
sa simula ng loop. Ngunit i
ang panimulang halaga ay dapat na 0
.
Opsyon 1 | Opsyon 2 |
---|---|
|
|
"Magaling! Susubukan kong huwag gawin ang pagkakamaling ito."
"Tatandaan ko ang pangako mo!"
GO TO FULL VERSION