Loops (break lan bali, terus, label) - 1

"Halo, Amigo!"

"Dina iki aku bakal ngandhani sampeyan babagan sawetara perkara sing trep nalika nggarap puteran."

"Kaping pisanan break tembung kunci . Yen sampeyan nggunakake printah iki ing awak daur ulang, banjur daur ulang bakal siksa langsung nalika printah wis kaleksanan. Punika conto: "

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

"Bisa break mung digunakake ing loop?"

"Ya. Pernyataan break mung bisa digunakake ing loop. Nalika statement break dieksekusi, loop langsung mandheg."

"Oke. Ngerti."

"Great. Saiki bab kapindho aku arep kanggo nuduhake tembung kunci terus. Iku uga mung bisa digunakake ing daur ulang. Nalika printah iki kaleksanan, pengulangan anyar daur ulang wiwit langsung. Ing tembung liyane, sembarang kode isih ing awak loop mung dilewati."

"Iki contone:"

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

"Dadi, yen program tekan printah terus ing daur ulang, bakal mandheg nglakokake kode ing daur ulang?"

"Ora. Deleng, kita duwe loop nalika nindakake kode sing padha kaping pirang-pirang. Ing conto ing ndhuwur, kita duwe loop saka 0 nganti 9, yaiku awak loop bakal dieksekusi kaping 10. Ya?"

"Ya."

"Salah siji pass liwat awak daur ulang disebut iterasi. Daur ulang kita kasusun saka 10 iterasi-awak daur ulang bakal kaleksanan kaping sepuluh."

"Ya wis jelas."

" Prentah terus mungkasi iterasi saiki kanthi prematur, yaiku kode sing isih ana ing daur ulang dilewati lan pengulangan anyar diwiwiti."

"Iki conto liyane:"

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

"Ing conto iki, kita nampilake perwakilan senar kabeh obyek ing dhaftar. Nanging kita skip sembarang obyek sing null."

"Oke, entuk. Aku weruh carane trep iki."

"Ya, aku uga pengin menehi pitutur marang kowe bab label. Padha arang digunakake ing Jawa, amarga padha asring nglanggar kaendahan logika program. Nanging sampeyan bisa nemokke ing kode ing sawetara titik. Dadi aku luwih seneng ngomong bab tinimbang sampeyan krungu babagan dheweke ing papan dolanan."

"Sapisan wektu iku diijini kanggo mlumpat saka sembarang baris kanggo sembarang baris ing kode. Kita nindakake iki nggunakake labels lan statement goto. Mangkene carane katon: "

Kode nggegirisi karo label
System.out.println("Make cookies,");
label: System.out.println("not");
System.out.println("war");
goto label;

"Ing conto iki, sawise printah label goto dieksekusi, program kasebut mlumpat menyang label sing ditandhani garis .

"Mengko, kabeh wong wicaksana lan mutusake kanggo ora nggunakake pernyataan goto . Jawa ora ndhukung goto, nanging goto minangka tembung sing didhelikake. Ora masalah ... "

"Dadi, ora goto lan ora ana label ing Jawa?"

"Ora ana pernyataan goto, nanging ana label!"

"Kok bisa ngono?"

"Ing Jawa, label bisa digunakake karo terus lan break printah. Padha digunakake nalika sampeyan duwe akeh nested puteran."

"Contone, umpamane sampeyan duwe 5 puteran nested lan nalika sawetara kondisi wis puas, sampeyan pengin metu saka telu, nanging ora kabeh. Label minangka cara sing elegan kanggo nindakake iki: "

Tuladha
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;

"Ing conto iki, nalika statement break wis kaleksanan, kita metu ora saka daur ulang karo variabel k, nanging saka daur ulang labeled label2 - ie kita langsung metu saka loro puteran karo k lan j."

"Sepira asring digunakake?"

"Sajujure, ora asring, nanging sampeyan ora ngerti. Mungkin sampeyan bakal weruh kapan-kapan. Iki minangka dhasar sintaksis-sampeyan kudu ngerti kabeh iki!"

"Oke. Matur nuwun, Bilaabo."