1. Putaran dalam hidup kita

Sangat sering hidup kita menuntut kita untuk melakukan tindakan yang sama berkali-kali. Misalnya, saya perlu memindai dokumen yang terdiri dari banyak halaman. Bahwa kami mengulangi prosedur yang sama berulang kali:

  • Letakkan halaman pertama di pemindai
  • Tekan tombol pindai
  • Letakkan halaman berikutnya di pemindai

Ini sulit dilakukan secara manual. Alangkah baiknya jika proses ini entah bagaimana bisa diotomatisasi.

Atau pertimbangkan contoh lain: katakanlah saya ingin menandai semua email yang belum dibaca di kotak masuk saya sebagai spam. Sekali waktu saya harus memilih setiap email satu per satu dan menandainya sebagai spam.

Tetapi programmer malas, jadi mereka mengotomatiskan proses ini sejak lama: sekarang Anda cukup memilih daftar huruf apa saja dan mengklik "tandai sebagai spam", dan kemudian klien email Anda menelusuri daftar dan memindahkan setiap email ke folder spam.

Apa yang bisa kita katakan di sini? Sangat nyaman ketika komputer atau program dapat menjalankan ratusan atau ribuan operasi monoton dengan satu klik. Dan sekarang Anda akan belajar bagaimana melakukan ini juga.


2. whileputaran

Pernyataan if-else secara signifikan memperluas kemampuan pemrograman kami, sehingga memungkinkan untuk menulis program yang melakukan tindakan yang berbeda dalam situasi yang berbeda. Tapi ada satu hal lagi yang akan membuat program kita jauh lebih kuat — loop .

Java memiliki 4 jenis loop: while, for, for-eachdan do-while. Kami sekarang akan menggali yang pertama dari ini.

Sebuah whileloop sangat sederhana. Ini hanya terdiri dari dua bagian: sebuah kondisi dan sebuah loop body . Tubuh loop dijalankan berulang kali selama kondisinya true. Secara umum, sebuah whileloop terlihat seperti ini:

while (condition)
   statement;
Notasi untuk whileloop dengan satu pernyataan
while (condition)
{
   block of statements
}
Notasi untuk whileloop dengan blok pernyataan

Ini sangat sederhana. Pernyataan atau blok pernyataan dijalankan berulang kali selama kondisi pengulangan sama .true

Begini cara kerjanya: pertama, kondisinya diperiksa . Jika benar, maka loop body dieksekusi ( pernyataan atau blok pernyataan ). Kemudian kondisinya diperiksa lagi dan badan loop dieksekusi lagi. Begitu seterusnya hingga kondisi menjadi salah.

Jika kondisi selalu benar , maka program tidak akan pernah berhenti berjalan. Ini akan secara permanen terjebak dalam lingkaran.

Jika kondisinya salah saat pertama kali dicentang , maka badan perulangan tidak akan dieksekusi sekali pun.


3. Contoh loop

Berikut adalah beberapa contoh praktis dari loop dalam tindakan.

Kode Penjelasan
int n = 5;
while (n > 0)
{
   System.out.println(n);
   n--;
}
5 baris akan ditampilkan di layar:
5
4
3
2
1
Kode Penjelasan
int  n = 0;
while (n < 10)
{
   System.out.println(n);
   n++;
}
10 baris akan ditampilkan di layar:
0
1
...
8
9
Kode Penjelasan
Scanner console = new Scanner(System.in);
while(console.hasNextInt())
{
   int x = console.nextInt();
} 
Program membaca angka dari keyboard selama angka dimasukkan.
Kode Penjelasan
while (true)
   System.out.println("C");
Program ini akan mencetak huruf di layar tanpa henti .C
Kode Penjelasan
Scanner console = new Scanner(System.in);
boolean isExit = false;
while (!isExit)
{
   String s = console.nextLine();
   isExit = s.equals("exit");
}
Program akan membaca baris dari keyboard

sampai exitdimasukkan.

Pada contoh sebelumnya, equals()metode ini digunakan untuk membandingkan string. Jika stringnya sama, fungsi akan mengembalikan true. Jika senar tidak sama, maka akan mengembalikan false.



4. Putar dalam satu putaran

Saat Anda mempelajari tentang pernyataan bersyarat, Anda melihat bahwa Anda dapat menggunakannya untuk mengimplementasikan logika kompleks dengan menggabungkan beberapa pernyataan bersyarat. Dengan kata lain, dengan menggunakan ifpernyataan di dalam ifpernyataan.

Anda dapat melakukan hal yang sama dengan loop. Untuk menulis loop dalam satu loop, Anda perlu menulis loop kedua di dalam tubuh loop pertama. Ini akan terlihat seperti ini:

while (condition for outer loop)
{
   while (condition for inner loop)
   {
     block of statements
   }
}
whileloop (dengan blok pernyataan ) di dalam whileloop lain

Mari kita lihat tiga tugas.

Tugas 1 . Katakanlah kita ingin menulis program yang menampilkan kata Momdi layar sebanyak 4 kali. Sebuah loop adalah apa yang kita butuhkan. Dan kode kita akan terlihat seperti ini:

Kode Penjelasan
int  n = 0;
while (n < 4)
{
   System.out.println("Mom");
   n++;
}
4 baris akan ditampilkan di layar:
Mom
Mom
Mom
Mom

Tugas 2 . Kami ingin menulis program yang menampilkan 5 huruf As dalam satu baris. Untuk melakukan ini, kita membutuhkan sebuah loop sekali lagi. Seperti inilah tampilan kodenya:

Kode Penjelasan
int n = 0;
while (n < 5)
{
   System.out.print("A");
   n++;
}
Alih-alih println(), kita akan menggunakan print(). Jika tidak, setiap huruf A akan berakhir pada baris terpisah.

Output layar akan menjadi:
AAAAA

Tugas 3 . Kami ingin menampilkan persegi panjang yang terdiri dari huruf As. Persegi panjang harus terdiri dari 4 baris dengan 5 kolom. Untuk mencapai ini, kita sekarang membutuhkan loop bersarang. Kami hanya akan mengambil contoh pertama kami (di mana kami mengeluarkan 4 baris) dan mengganti kode untuk mengeluarkan satu baris dengan kode dari contoh kedua.

Kode Penjelasan
int n = 0;

while (n < 4) { int m = 0;
while (m < 5) { System.out.print("A"); m++; }
System.out.println(); n++; }
 
Lingkaran luar berwarna ungu. Ini menggunakan nvariabel untuk menghitung jumlah iterasi dari loop.

Lingkaran bagian dalam berwarna hijau. Ini menggunakan mvariabel untuk menghitung jumlah iterasi loop.

Kami harus secara eksplisit memindahkan kursor ke baris berikutnya setelah putaran dalam selesai. Jika tidak, semua huruf yang dicetak oleh program akan berakhir dalam satu baris.

Output layar akan menjadi:
AAAAA
AAAAA
AAAAA
AAAAA

Loop luar dan dalam harus menggunakan variabel yang berbeda untuk menghitung jumlah iterasi loop. Kami juga harus menambahkan System.out.println()perintah setelah loop dalam, karena loop itu menampilkan huruf As pada baris yang sama. Setelah huruf pada baris ditampilkan, seseorang harus memindahkan kursor ke baris baru.



5. Membandingkan loop Java vs Pascal

Banyak dari Anda mempelajari Pascal di SMA. Untuk memudahkan Anda memahami materi di sini, lihat perbandingan whileloop yang ditulis dalam Pascal dan Java ini. Jika Anda tidak tahu Pascal, lewati saja bagian ini.

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