Mga loop (break at return, continue, label) - 1

"Hi, Amigo!"

"Ngayon sasabihin ko sa iyo ang tungkol sa ilang mga bagay na maginhawa kapag nagtatrabaho sa mga loop."

"Ang una ay ang keyword break . Kung gagamitin mo ang command na ito sa katawan ng isang loop, agad na magwawakas ang loop kapag naisakatuparan ang command. Narito ang isang halimbawa:"

Halimbawa Output:
for (int i = 0; i < 10; i++)
{
System.out.println(i);
if (i > 5)
break;
}
0
1
2
3
4
5

"Maaari bang gamitin ang break sa isang loop lang?"

"Oo. Magagamit lang ang break statement sa isang loop. Kapag na-execute ang isang break statement, agad na nagtatapos ang loop."

"OK. Naiintindihan ko."

"Great. Ngayon ang pangalawang bagay na gusto kong ibahagi ay ang keyword continue. Magagamit lang din ito sa isang loop. Kapag naisakatuparan ang command na ito, magsisimula kaagad ang bagong pag-ulit ng loop. Sa madaling salita, anumang natitirang code sa Nilaktawan lang ang katawan ng loop."

"Narito ang isang halimbawa:"

Halimbawa Output:
for (int i = 0; i < 10; i++)
{
if (i % 2 == 0)
continue;
System.out.println(i);
}
1
3
5
7
9

"Kaya, kapag naabot ng programa ang isang continue command sa isang loop, hihinto ito sa pagpapatupad ng code sa loop?"

"Hindi. Tingnan mo, mayroon tayong loop kapag nag-execute tayo ng parehong code nang ilang beses. Sa halimbawa sa itaas, mayroon tayong loop mula 0 hanggang 9, ibig sabihin, ang katawan ng loop ay isasagawa nang 10 beses. Tama?"

"Oo."

"Ang isang pagpasa sa katawan ng loop ay tinatawag na pag-ulit. Ang aming loop ay binubuo ng 10 pag-ulit—ang katawan ng loop ay isasagawa nang sampung beses."

"Oo, malinaw iyon."

"Ang continue command ay nagwawakas sa kasalukuyang pag-ulit nang wala sa panahon, ibig sabihin, anumang natitirang code sa loob ng loop ay nilaktawan at magsisimula ang isang bagong pag-ulit."

"Narito ang isa pang halimbawa:"

Halimbawa
ArrayList list = new ArrayList();
for (Object o: list)
{
if (o == null) continue;
System.out.println(o.toString());
}

"Sa halimbawang ito, ipinapakita namin ang isang string na representasyon ng lahat ng mga bagay sa listahan. Ngunit nilaktawan namin ang anumang mga bagay na null."

"OK, got it. I can see how convenient this is."

"Oo. Gusto ko ring sabihin sa iyo ang tungkol sa mga label. Bihirang gamitin ang mga ito sa Java, dahil madalas nilang nilalabag ang kagandahan ng lohika ng isang programa. Ngunit maaari mong ma-encounter ang mga ito sa code sa ilang sandali. Kaya mas gusto kong sabihin sa iyo ang tungkol sa sila kaysa sa narinig mo tungkol sa kanila sa playground."

"Noong unang panahon ay pinahihintulutan itong tumalon mula sa anumang linya patungo sa anumang linya sa code. Ginawa namin ito gamit ang mga label at ang goto statement. Ganito ang hitsura nito:"

Nakakakilabot na code na may mga label
System.out.println("Make cookies,");
label: System.out.println("not");
System.out.println("war");
goto label;

"Sa halimbawang ito, pagkatapos na maisakatuparan ang command ng goto label , tumalon ang programa sa linyang may markang label .

"Paglaon, lahat ay naunawaan at nagpasya na huwag gamitin ang goto statement. Hindi sinusuportahan ng Java ang goto, ngunit ang goto ay isang nakalaan na salita. Hindi isang malaking bagay…"

"So, walang goto at walang label sa Java?"

"Walang goto statement, pero may mga label!"

"Paano kaya iyon?"

"Sa Java, ang mga label ay maaaring gamitin kasama ang continue at break na mga utos. Ginagamit ang mga ito kapag mayroon kang maraming nested na mga loop."

"Halimbawa, ipagpalagay na mayroon kang 5 nested loop at kapag nasiyahan ang ilang kundisyon, gusto mong lumabas sa tatlo sa mga ito, ngunit hindi lahat. Ang mga label ay isang eleganteng paraan upang gawin ito:"

Halimbawa
label1: for (int i = 0; i < 10; i++)
 label2: for (int j = 0; j < 10; j++)
  label3: for (int k =0; k < 10; k++)
   if (i == j && j == k)
    break label2;

"Sa halimbawang ito, kapag ang pahayag ng break ay naisakatuparan, hindi kami lumalabas sa loop na may variable k, ngunit mula sa loop na may label na label2 - ibig sabihin, agad kaming lumabas sa dalawang loop na may k at j."

"Gaano kadalas ginagamit iyon?"

"To be honest, not often, but you never know. Siguro makikita mo ito minsan. Ito ang mga syntax fundamentals—kailangan mong malaman ang lahat ng ito!"

"OK. Salamat, Bilaabo."