Loops (istirahat dan kembali, lanjutkan, label) - 1

"Hai, Amigo!"

"Hari ini saya akan memberi tahu Anda tentang beberapa hal yang nyaman saat bekerja dengan loop."

"Yang pertama adalah kata kunci break . Jika Anda menggunakan perintah ini di badan perulangan, maka perulangan akan segera berakhir saat perintah dijalankan. Berikut contohnya:"

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

"Bisakah break hanya digunakan dalam satu lingkaran?"

"Ya. Pernyataan break hanya dapat digunakan dalam satu lingkaran. Ketika pernyataan break dieksekusi, loop segera berakhir."

"OK mengerti."

"Bagus. Sekarang hal kedua yang ingin saya bagikan adalah kata kunci lanjutkan. Ini juga hanya dapat digunakan dalam satu lingkaran. Ketika perintah ini dijalankan, iterasi baru dari loop segera dimulai. Dengan kata lain, kode yang tersisa di tubuh loop dilewati begitu saja."

"Ini contohnya:"

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

"Jadi, begitu program mencapai perintah lanjutkan dalam satu lingkaran, program itu berhenti mengeksekusi kode dalam lingkaran itu?"

"Tidak. Lihat, kita memiliki loop ketika kita mengeksekusi kode yang sama beberapa kali. Pada contoh di atas, kita memiliki loop dari 0 hingga 9, yaitu isi loop akan dieksekusi 10 kali. Benar?"

"Ya."

"Satu melewati tubuh loop disebut iterasi. Loop kami terdiri dari 10 iterasi — tubuh loop akan dieksekusi sepuluh kali."

"Ya, itu jelas."

" Perintah lanjutkan mengakhiri iterasi saat ini sebelum waktunya, yaitu kode yang tersisa di dalam loop dilewati dan iterasi baru dimulai."

"Ini contoh lain:"

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

"Dalam contoh ini, kami menampilkan representasi string dari semua objek dalam daftar. Tapi kami melewatkan objek apa pun yang null."

"Oke, mengerti. Aku bisa melihat betapa nyamannya ini."

"Ya. Saya juga ingin memberi tahu Anda tentang label. Mereka jarang digunakan di Java, karena sering melanggar keindahan logika program. Tapi Anda mungkin menemukan mereka dalam kode di beberapa titik. Jadi saya lebih suka memberi tahu Anda tentang mereka daripada yang pernah Anda dengar tentang mereka di taman bermain."

"Dahulu kala diperbolehkan untuk melompat dari baris mana pun ke baris mana pun dalam kode. Kami melakukan ini menggunakan label dan pernyataan goto. Begini tampilannya:"

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

"Dalam contoh ini, setelah perintah goto label dijalankan, program melompat ke baris bertanda label .

"Kemudian, semua orang tersadar dan memutuskan untuk tidak menggunakan pernyataan goto . Java tidak mendukung goto, tetapi goto adalah kata yang dilindungi undang-undang. Bukan masalah besar…"

"Jadi, tidak ada kebagian dan tidak ada label di Jawa?"

"Tidak ada pernyataan goto, tapi ada label!"

"Bagaimana itu bisa terjadi?"

"Di Java, label dapat digunakan dengan perintah continue dan break. Mereka digunakan ketika Anda memiliki banyak loop bersarang."

"Misalnya, Anda memiliki 5 loop bersarang dan ketika beberapa kondisi terpenuhi, Anda ingin keluar dari ketiganya, tetapi tidak semuanya. Label adalah cara yang elegan untuk melakukan ini:"

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

"Dalam contoh ini, ketika pernyataan break dieksekusi, kita keluar bukan dari loop dengan variabel k, tetapi dari loop berlabel label2 - yaitu kita segera keluar dari dua loop dengan k dan j."

"Seberapa sering itu digunakan?"

"Sejujurnya, tidak sering, tapi Anda tidak pernah tahu. Mungkin Anda akan melihatnya suatu saat. Ini adalah dasar-dasar sintaksis—Anda perlu mengetahui semua ini!"

"Oke. Terima kasih, Bilaabo."