1. breakpratelan

Ayo deleng conto saka wulangan sadurunge:

Kode Panjelasan
Scanner console = new Scanner(System.in);
boolean isExit = false;
while (!isExit)
{
   String s = console.nextLine();
   isExit = s.equals("exit");
}
Program bakal maca baris saka keyboard, nganti sampeyan ngetik "exit".

Program kasebut maca baris saka console nganti tembung kasebut exitmlebu. Yen sampeyan ngetik tembung iki, banjur isExit variabel dadi true, kondisi loop bakal , lan loop bakal mungkasi."!isExitfalse

Jawa nduweni pratelan khusus breaksing ngidini sampeyan nyederhanakake logika kasebut. Yen breakstatement dieksekusi ing daur ulang, daur ulang kasebut langsung rampung. Program bakal miwiti nglakokaké statement sing nderek daur ulang. Pernyataan kasebut ringkes banget:

break;

Mangkene carane sampeyan bisa nggunakake breakpernyataan kasebut kanggo nulis ulang conto sing lagi wae dibahas:

Kode Panjelasan
Scanner console = new Scanner(System.in);
while (true)
{
   String s = console.nextLine();
   if (s.equals("exit"))
     break;
}
Program bakal maca baris saka keyboard, nganti sampeyan ngetik "exit".


2. terus statement

Nanging breakdudu siji-sijine statement Jawa sing ngidini sampeyan ngontrol prilaku loop. Jawa uga nduweni continuepratelan. Yen sampeyan nglakokake continuestatement ing loop, pengulangan loop saiki bakal rampung luwih dhisik tinimbang jadwal.

Nglakokake awak loop sapisan diarani iterasi saka loop. Pernyataan kasebut continuengganggu pengulangan loop saiki, nanging ora kaya breakpernyataan kasebut, ora mungkasi loop kasebut. Pernyataan kasebut uga ringkes:

continue;

Pernyataan kasebut continuetrep banget ing loop yen kita pengin 'skip' eksekusi awak loop ing kahanan tartamtu.

Tugas: Kita pengin nulis program sing nyetak angka saka 1menyang 20nanging ngliwati nomer sing bisa dipérang dadi 7. Iki kaya kode iki.

Kode Panjelasan
int i = 1;
while (i <= 20)
{
   if ( (i % 7) == 0 )
     continue;
   System.out.println(i);
   i++;
}
Program nampilake angka saka 1nganti 20. Yen nomer bisa dibagi dening 7(sisa saka divisi dening 7punika 0), banjur kita skip nampilake nomer.

Bener, kode iki ora bisa digunakake , amarga ibakal tetep macet ing nomer kasebut 7. Sawise kabeh, continuestatement skip loro statements liyane: System.out.println(i)lan i++. Akibaté, yen wis tekan nilai 7, variabel ibakal mandheg ganti lan kita bakal ana ing loop tanpa wates.

Kita nulis kode kanthi cara iki kanthi tujuan kanggo nggambarake kesalahan sing umum banget iki. Kepiye carane ndandani?

Ana rong pilihan ing kene:

Opsi 1: ganti isadurunge nglakokake continue, nanging sawisei % 7

Pilihan 2: tansah nambah iing awal daur ulang. Nanging banjur inilai wiwitan kudu 0.

Pilihan 1 Pilihan 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);
}