"Hai, Amigo!

"Hai Ellie."

"Anda telah mempelajari gelung, dan itu bagus."

"Saya setuju! Sekarang saya benar-benar tidak tahu bagaimana untuk hidup tanpa mereka."

"Kadang-kadang anda boleh melakukannya tanpa mereka... Tetapi lebih kerap anda memerlukannya. Hari ini kita akan bercakap tentang situasi apabila anda perlu keluar dari gelung lebih awal daripada jadual."

"Maksud anda, apabila syarat untuk meneruskan gelung adalah benar, tetapi anda masih perlu keluar dari gelung?"

"Tepat sekali! Kadang-kadang anda terdengar seperti anda sudah seorang pengaturcara. Bagaimanapun, untuk keluar dari gelung lebih awal daripada jadual, anda boleh menggunakan pernyataan rehat . Lihat contoh berikut:

Kod Penjelasan
Scanner console = new Scanner(System.in);
boolean isExit = false;
while (!isExit)
{
   String s = console.nextLine();
   isExit = s.equals("exit");
}
Program ini akan membaca satu baris dari papan kekunci, sehingga anda memasukkan "exit".

"Saya faham. Atur cara membaca baris daripada konsol. Jika anda masukkan "exit", maka isExitpembolehubah menjadi true, keadaan gelung ialah , dan gelung akan tamat."!isExitfalse

"Betul. Jadi, Java mempunyai breakpernyataan khas yang membolehkan anda mempermudahkan logik sedemikian. Jika breakpernyataan dilaksanakan di dalam gelung, maka gelung itu tamat serta-merta. Program akan mula melaksanakan pernyataan yang mengikuti gelung. Pernyataan itu sangat ringkas :

break;

"Begini cara anda boleh menggunakan breakpernyataan untuk menulis semula contoh yang baru kita bincangkan:

Kod Penjelasan
Scanner console = new Scanner(System.in);
while (true)
{
   String s = console.nextLine();
   if (s.equals("exit"))
     break;
}
Program ini akan membaca satu baris dari papan kekunci, sehingga anda memasukkan "exit".

"Mungkin saya akan ingat itu. Saya rasa ia akan berguna."

"Tetapi breakbukan satu-satunya pernyataan Java yang membolehkan anda mengawal kelakuan gelung. Java juga mempunyai continuepernyataan itu. Jika anda melaksanakan continuepernyataan di dalam gelung, lelaran semasa gelung akan berakhir lebih awal daripada jadual."

"Apakah yang anda maksudkan dengan lelaran?"

"Lelaran gelung ialah satu pelaksanaan badan gelung. Pernyataan continuemengganggu lelaran semasa gelung, tetapi tidak seperti breakpenyataan, ia tidak menamatkan gelung itu sendiri. Pernyataan itu juga ringkas:

continue;

"Jadi, continuepernyataan itu boleh digunakan dalam gelung jika kita mahu 'melangkau' pelaksanaan lelaran tertentu gelung?"

"Tepat sekali. Adakah anda faham perbezaan antara breakdan continue? Jika anda perlu mencari tujuh daripada 20 digit tidak berulang, apakah jenis pernyataan gangguan gelung dan gelung yang akan anda gunakan?

"Hmm... Saya akan meneliti semua nombor, dan jika saya mendapati 7, maka saya akan melaksanakan break."

"Bagaimana jika anda perlu memaparkan nombor dari 1hingga 20kecuali nombor yang boleh dibahagi dengan 7?"

"Nah, di sini saya mungkin perlu continue, kerana saya tidak mahu keluar dari gelung. Tetapi saya masih tidak begitu faham."

"Biar saya tunjukkan cara untuk menyelesaikan masalah ini. Beginilah rupa kod ini."

Kod Penjelasan
int i = 1;
while (i <= 20)
{
   if ( (i % 7) == 0 )
     continue;
   System.out.println(i);
   i++;
}
Program ini memaparkan nombor dari 1hingga 20. Jika nombor boleh dibahagi dengan 7(baki bahagian dengan 7ialah 0 ), maka kita langkau memaparkan nombor itu.

"Kenapa awak memandang saya dengan curiga, Ellie? Adakah terdapat beberapa tangkapan di sini?"

"Anda tidak boleh tertipu, Amigo! Sesungguhnya, kod ini tidak akan berfungsi dengan betul . Ia akan memaparkan 6 digit pertama, dan kemudian iakan kekal tersangkut pada nombor itu selama-lamanya 7. Lagipun, continuekenyataan itu melangkau dua kenyataan lain: System.out.println(i)dan i++. As hasilnya, sebaik sahaja kita mencapai nilai 7, pembolehubah iakan berhenti berubah dan kita akan berada dalam gelung tak terhingga. Saya menulis kod dengan cara ini dengan sengaja untuk menggambarkan kesilapan yang sangat biasa."

"Bagaimana kita membetulkannya?"

"Terdapat dua pilihan di sini:"

Pilihan 1: tukar isebelum melaksanakan continue, tetapi selepasi % 7

Pilihan 2: sentiasa meningkat ipada permulaan gelung. Tetapi inilai permulaan mestilah 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);
}

"Cemerlang! Saya akan cuba untuk tidak melakukan kesilapan ini."

"Saya akan ingat janji awak!"