1. Loops ing gesang kita

Asring banget urip kita mbutuhake kita nindakake tumindak sing padha kaping pirang-pirang. Contone, umpamane aku kudu mindhai dokumen sing ngemot akeh kaca. Kita mbaleni prosedur sing padha bola-bali:

  • Sijine kaca pisanan ing scanner
  • Pencet tombol scan
  • Sijine kaca sabanjuré ing scanner

Iki angel ditindakake kanthi manual. Luwih becik yen proses iki bisa ditindakake kanthi otomatis.

Utawa nimbang conto liyane: ayo ngomong aku pengin menehi tandha kabeh email sing durung diwaca ing kothak mlebu minangka spam. Biyen aku kudu milih saben email siji-siji lan menehi tandha minangka spam.

Nanging programer kesed, mula dheweke ngotomatisasi proses iki biyen: saiki sampeyan mung milih dhaptar huruf lan klik "tandha minangka spam", banjur klien email sampeyan mbukak dhaptar lan mindhah saben email menyang folder spam.

Apa sing bisa kita ucapake ing kene? Iku super trep nalika komputer utawa program bisa nglakokaké atusan utawa ewu operasi monoton karo siji klik. Lan saiki sampeyan bakal sinau carane nindakake iki uga.


2. whilegelung

Pernyataan if-else sacara signifikan ngembangake kemampuan pemrograman kita, saengga bisa nulis program sing nindakake tumindak sing beda-beda ing kahanan sing beda-beda. Nanging ana siji liyane sing bakal nggawe program kita urutan gedhene luwih kuat - loops .

Jawa nduweni 4 jinis gelung: while, for, for-eachlan do-while. Saiki kita bakal digali menyang sing pisanan.

A whileloop banget prasaja. Iku kasusun saka mung rong bagéan: kondisi lan awak loop . Badan gelung dileksanakake bola-bali anggere kondisi kasebut true. Umumé, whileloop katon kaya iki:

while (condition)
   statement;
Notasi kanggo whileloop kanthi statement siji
while (condition)
{
   block of statements
}
Notasi kanggo whileloop kanthi blok statement

Iku banget prasaja. Pernyataan utawa blok pernyataan dieksekusi bola - bali anggere kondisi loop padha .true

Iki cara kerjane: pisanan, kondisi dipriksa. Yen bener, awak loop dieksekusi ( pernyataan utawa blok pernyataan ). Banjur kondisi kasebut dipriksa maneh lan awak loop dieksekusi maneh. Lan sateruse nganti kondisi dadi palsu.

Yen kondisi kasebut tansah bener , program kasebut ora bakal mandheg. Iku bakal permanen macet ing daur ulang.

Yen kondhisi kasebut salah nalika sepisanan dicenthang , mula awak daur ulang ora bakal dieksekusi sanajan sepisan.


3. Tuladha gelung

Kene sawetara conto praktis saka puteran ing tumindak.

Kode Panjelasan
int n = 5;
while (n > 0)
{
   System.out.println(n);
   n--;
}
5 garis bakal ditampilake ing layar:
5
4
3
2
1
Kode Panjelasan
int  n = 0;
while (n < 10)
{
   System.out.println(n);
   n++;
}
10 baris bakal ditampilake ing layar:
0
1
...
8
9
Kode Panjelasan
Scanner console = new Scanner(System.in);
while(console.hasNextInt())
{
   int x = console.nextInt();
} 
Program maca angka saka keyboard anggere angka sing ngetik.
Kode Panjelasan
while (true)
   System.out.println("C");
Program kasebut bakal nyithak huruf ing layar tanpa wates .C
Kode Panjelasan
Scanner console = new Scanner(System.in);
boolean isExit = false;
while (!isExit)
{
   String s = console.nextLine();
   isExit = s.equals("exit");
}
Program bakal maca garis saka keyboard

nganti exitmlebu.

Ing conto sadurunge, equals()cara digunakake kanggo mbandhingake strings. Yen strings padha, fungsi bakal bali true. Yen strings ora padha, banjur bakal bali false.



4. Loop ing daur ulang

Nalika sampeyan sinau babagan pernyataan kondisional, sampeyan bisa ngerteni manawa sampeyan bisa nggunakake kanggo ngetrapake logika kompleks kanthi nggabungake pirang-pirang pernyataan kondisional. Kanthi tembung liyane, kanthi nggunakake ifstatement ing njero ifstatement.

Sampeyan bisa nindakake perkara sing padha karo puteran. Kanggo nulis loop ing loop, sampeyan kudu nulis loop kapindho ing awak loop pisanan. Bakal katon kaya iki:

while (condition for outer loop)
{
   while (condition for inner loop)
   {
     block of statements
   }
}
whileloop (karo blok statements ) nang whileloop liyane

Ayo goleki telung tugas.

Tugas 1 . Contone, kita pengin nulis program sing nampilake tembung Moming layar kaping 4. A loop persis apa sing kita butuhake. Lan kode kita bakal katon kaya iki:

Kode Panjelasan
int  n = 0;
while (n < 4)
{
   System.out.println("Mom");
   n++;
}
4 baris bakal ditampilake ing layar:
Mom
Mom
Mom
Mom

Tugas 2 . Kita pengin nulis program sing nampilake 5 huruf As ing baris siji. Kanggo nindakake iki, kita kudu loop sepisan maneh. Iki bakal katon kaya kode kasebut:

Kode Panjelasan
int n = 0;
while (n < 5)
{
   System.out.print("A");
   n++;
}
Tinimbang println(), kita bakal nggunakake print(). Yen ora, saben huruf A bakal rampung ing baris sing kapisah.

Output layar bakal dadi:
AAAAA

Tugas 3 . Kita pengin nampilake persegi panjang sing kasusun saka huruf As. Persegi panjang kudu kalebu 4 baris kanthi 5 kolom. Kanggo nindakake iki, saiki kita butuh loop nested. Kita mung bakal njupuk conto pisanan (sing kita output 4 baris) lan ngganti kode kanggo outputting siji baris karo kode saka conto kapindho.

Kode Panjelasan
int n = 0;

while (n < 4) { int m = 0;
while (m < 5) { System.out.print("A"); m++; }
System.out.println(); n++; }
 
Lingkaran njaba iku ungu. Iki nggunakake nvariabel kanggo ngetung jumlah pengulangan loop.

Lingkaran njero ijo. Iki nggunakake mvariabel kanggo ngitung jumlah pengulangan loop.

Kita kudu kanthi tegas mindhah kursor menyang baris sabanjure sawise daur ulang internal rampung. Yen ora, kabeh huruf sing dicithak program bakal rampung ing siji baris.

Output layar bakal dadi:
AAAAA
AAAAA
AAAAA
AAAAA

Puteran njaba lan njero kudu nggunakake variabel sing beda kanggo ngetung jumlah iterasi loop. Kita uga kudu nambah System.out.println()printah sawise daur ulang utama, amarga daur ulang nampilake huruf As ing baris sing padha. Sawise huruf ing baris ditampilake, wong kudu mindhah kursor menyang baris anyar.



5. Mbandingaken puteran Jawa vs Pascal

Akeh sing sinau Pascal ing SMA. Kanggo nggampangake sampeyan ngerti materi ing kene, deleng perbandingan whileputeran sing ditulis ing Pascal lan Jawa. Yen sampeyan ora ngerti Pascal, banjur skip bagean iki.

Pascal Jawa
i := 3;
While i >= 0 Do
   Begin
      WriteLn(i);
      i := i - 1;
   End;
int i = 3;
while (i >= 0)
{
   System.out.println(i);
   i--;
}
i := 0;
While i < 3 Do
   Begin
      WriteLn(i);
      i := i + 1;
   End;
int i = 0;
while (i < 3)
{
   System.out.println(i);
   i++;
}
IsExit := False;
While Not isExit Do
   Begin
      ReadLn(s);
      isExit :=  (s = 'exit');
   End;
boolean isExit = false;
while (!isExit)
{
   String s = console.nextLine();
   isExit = s.equals("exit");
}
While True Do
   WriteLn('C');
while (true)
   System.out.println("C");
While True Do
   Begin
     ReadLn(s);
     If s = 'exit' Then
       Break;
   End;
while (true)
{
   String s = console.nextLine();
   if (s.equals("exit"))
     break;
}