Java ialah bahasa pengaturcaraan yang digunakan secara meluas Dalam pembangunan sebenar, tidak dapat dielakkan untuk menghadapi ralat gelung selalunya disebabkan oleh keadaan kawalan gelung, pembolehubah dalam gelung, susunan pelaksanaan gelung dan faktor lain. Jika ralat ini tidak ditemui dan dikendalikan tepat pada masanya, ia boleh menyebabkan ralat program atau gelung tak terhingga, yang menjejaskan kecekapan dan kestabilan pelaksanaan program. Artikel ini akan memperkenalkan jenis ralat kitaran dalam Java, cara menanganinya dan cara mengelakkannya.
1. Jenis ralat gelung Java
1 Gelung tak terhingga
Gelung tak terhingga ialah manifestasi biasa ralat gelung. Keadaan gelung tidak berpuas hati, tetapi pernyataan dalam badan gelung tidak akan mengubah keadaan gelung, menyebabkan gelung terus dilaksanakan dan tidak pernah berakhir. Contohnya:
while(true){ //循环体 }
Gelung tidak berkesudahan seperti ini bukan sahaja akan menyebabkan program membeku, tetapi juga meningkatkan penggunaan CPU, sekali gus menjejaskan operasi normal sistem.
2. Tatasusunan di luar sempadan
Apabila mengendalikan tatasusunan dalam gelung, ia boleh menyebabkan ralat subskrip tatasusunan. Contohnya:
int[] arr = {1,2,3}; for(int i=0; i<=3; i++){ System.out.println(arr[i]); }
Kod di atas akan membuang pengecualian ArrayIndexOutOfBoundsException kerana nilai i ialah 3, dan tatasusunan arr hanya mempunyai 3 elemen.
3. Ralat Logik
Semasa menulis kod gelung, pengaturcara selalunya perlu berfikir dengan teliti tentang hubungan logik dalam badan gelung, jika tidak ralat logik akan berlaku. Contohnya:
int i=0; while(i<5){ if(i==3){ break; } System.out.println(++i); }
Kod di atas akan mengeluarkan 1,2,4,5 dan bukannya 1,2 yang dijangkakan Ini kerana saya telah ditambah 1 sebelum melaksanakan penyataan rehat.
2. Bagaimana untuk mengendalikan ralat gelung Java
1 berlaku, menghapuskan kesilapan.
2. Semak keadaan gelung dan pembolehubah gelung
Keadaan gelung hendaklah menggunakan pernyataan pertimbangan yang sesuai untuk mengelakkan situasi di mana keadaan gelung sentiasa benar atau salah, atau semak sama ada keadaan gelung meliputi semua situasi yang mungkin.
Julat nilai pembolehubah gelung mesti dipertimbangkan dengan teliti untuk mengelak daripada melepasi sempadan atau menyebabkan gelung tak terhingga.
3. Gunakan penyataan gelung yang betul
Penyataan gelung dalam Java termasuk untuk, sambil dan lakukan-semasa Menggunakan penyataan gelung yang berbeza boleh mengelakkan ralat yang tidak perlu. Contohnya, gelung for sesuai untuk situasi di mana bilangan gelung diketahui, gelung while sesuai untuk situasi di mana bilangan gelung tidak pasti dan gelung do-while sesuai untuk situasi gelung perlu dilaksanakan. sekurang-kurangnya sekali.
3. Langkah-langkah untuk mengelakkan ralat gelung Java
1 Gunakan pernyataan foreach
Pernyataan foreach dengan mudah boleh merentasi elemen dalam tatasusunan dan koleksi, mengelakkan masalah mudah ralat menulis pernyataan gelung secara manual. Contohnya:
int[] arr = {1,2,3}; for(int i : arr){ System.out.println(i); }
2 Gunakan ulasan dan konvensyen penamaan
Menambah ulasan piawai dan penamaan pada pembolehubah gelung dan gelung adalah baik untuk kebolehbacaan dan kebolehselenggaraan kod. Contohnya:
//下标从0开始,循环三次 for(int i=0; i<3; i++){ //执行循环体 }
3. Permudahkan kod gelung sebanyak mungkin
Dalam gelung, gunakan fungsi API sedia ada dan fungsi perpustakaan kelas sebanyak mungkin untuk mengelakkan mencipta semula roda. Contohnya, menggunakan API Strim baharu dalam Java 8 untuk melaksanakan operasi seperti penapisan, pemetaan dan pengurangan boleh memudahkan kod program dan meningkatkan kualiti kod.
Ringkasnya, pengendalian dan mengelakkan ralat gelung Java seharusnya tidak menjadi satu kesukaran dalam pengaturcaraan harian kami selagi kami boleh beroperasi dengan berhati-hati, memberi perhatian kepada butiran dan meningkatkan kualiti dan kebolehbacaan kod, kami boleh mengelakkan ralat tersebut.
Atas ialah kandungan terperinci Ralat Java: Ralat Kitaran, Cara Mengendalikan dan Mengelak. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!