"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 |
---|---|
|
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 isExit
pembolehubah menjadi true
, keadaan gelung ialah , dan gelung akan tamat."!isExit
false
"Betul. Jadi, Java mempunyai break
pernyataan khas yang membolehkan anda mempermudahkan logik sedemikian. Jika break
pernyataan 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 break
pernyataan untuk menulis semula contoh yang baru kita bincangkan:
Kod | Penjelasan |
---|---|
|
Program ini akan membaca satu baris dari papan kekunci, sehingga anda memasukkan "exit" . |
"Mungkin saya akan ingat itu. Saya rasa ia akan berguna."
"Tetapi break
bukan satu-satunya pernyataan Java yang membolehkan anda mengawal kelakuan gelung. Java juga mempunyai continue
pernyataan itu. Jika anda melaksanakan continue
pernyataan 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 continue
mengganggu lelaran semasa gelung, tetapi tidak seperti break
penyataan, ia tidak menamatkan gelung itu sendiri. Pernyataan itu juga ringkas:
continue;
"Jadi, continue
pernyataan itu boleh digunakan dalam gelung jika kita mahu 'melangkau' pelaksanaan lelaran tertentu gelung?"
"Tepat sekali. Adakah anda faham perbezaan antara break
dan 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 1
hingga 20
kecuali 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 |
---|---|
|
Program ini memaparkan nombor dari 1 hingga 20 . Jika nombor boleh dibahagi dengan 7 (baki bahagian dengan 7 ialah 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 i
akan kekal tersangkut pada nombor itu selama-lamanya 7
. Lagipun, continue
kenyataan itu melangkau dua kenyataan lain: System.out.println(i)
dan i++
. As hasilnya, sebaik sahaja kita mencapai nilai 7
, pembolehubah i
akan 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 i
sebelum melaksanakan continue
, tetapi selepasi % 7
Pilihan 2: sentiasa meningkat i
pada permulaan gelung. Tetapi i
nilai permulaan mestilah 0
.
Pilihan 1 | Pilihan 2 |
---|---|
|
|
"Cemerlang! Saya akan cuba untuk tidak melakukan kesilapan ini."
"Saya akan ingat janji awak!"
GO TO FULL VERSION