"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
Scanner console = new Scanner(System.in);
boolean isExit = false;
while (!isExit)
{
   String s = console.nextLine();
   isExit = s.equals("exit");
}
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 isExitvariable ay magiging true, ang loop condition ay , at ang loop ay magtatapos."!isExitfalse

"Tama iyan. Kaya, ang Java ay may isang espesyal breakna pahayag na hinahayaan kang pasimplehin ang gayong lohika. Kung ang isang breakpahayag 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 breakpahayag upang muling isulat ang halimbawang tinalakay natin:

Code Paliwanag
Scanner console = new Scanner(System.in);
while (true)
{
   String s = console.nextLine();
   if (s.equals("exit"))
     break;
}
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 breakhindi ang tanging Java statement na nagbibigay-daan sa iyong kontrolin ang pag-uugali ng isang loop. Ang Java ay mayroon ding continuestatement. Kung magpapatupad ka ng isang continuepahayag 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 continuepahayag ay nakakaabala sa kasalukuyang pag-ulit ng loop, ngunit hindi tulad ng breakpahayag, hindi nito tinatapos ang loop mismo. Ang pahayag ay maikli din:

continue;

"Kaya, ang continuepahayag 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 breakng 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 1hanggang 20maliban 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
int i = 1;
while (i <= 20)
{
   if ( (i % 7) == 0 )
     continue;
   System.out.println(i);
   i++;
}
Ang programa ay nagpapakita ng mga numero mula 1hanggang 20. Kung ang numero ay nahahati sa 7(ang natitirang dibisyon sa 7ay 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 iay mananatili magpakailanman na nananatili sa numero 7. Pagkatapos ng lahat, ang continuepahayag 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 7variable 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 ibago isagawa continue, ngunit pagkataposi % 7

Opsyon 2: palaging dagdagan isa simula ng loop. Ngunit iang panimulang halaga ay dapat na 0.

Opsyon 1 Opsyon 2
int i = 1;
while (i <= 20)
{
   if ( (i % 7) == 0 )
   {
     i++;
     continue;
   }
   
   System.out.println(i);
   i++;
}
int i = 0;
while (i < 20)
{
   i++;
   if ( (i % 7) == 0)
     continue;
   System.out.println(i);
}

"Magaling! Susubukan kong huwag gawin ang pagkakamaling ito."

"Tatandaan ko ang pangako mo!"