Apa cara terbaik untuk keluar / menghentikan loop sementara di Java?
Misalnya, kode saya saat ini sebagai berikut:
while(true){
if(obj == null){
// I need to exit here
}
}
sumber
Apa cara terbaik untuk keluar / menghentikan loop sementara di Java?
Misalnya, kode saya saat ini sebagai berikut:
while(true){
if(obj == null){
// I need to exit here
}
}
break
adalah apa yang Anda cari:
while (true) {
if (obj == null) break;
}
alternatifnya, atur ulang loop Anda:
while (obj != null) {
// do stuff
}
atau:
do {
// do stuff
} while (obj != null);
Menemukan while...do
konstruksi dengan while(true)
kode saya akan membuat mata saya berdarah. Gunakan while
loop standar sebagai gantinya:
while (obj != null){
...
}
Dan lihat tautan yang disediakan Yacoby dalam jawabannya , dan yang ini juga. Sungguh.
Anda bisa melakukan beberapa pengujian logika kondisi dalam pemeriksaan while () menggunakan aturan yang sama seperti dalam pemeriksaan logika apa pun.
while ( obj != null ) {
// do stuff
}
bekerja, seperti halnya
while ( value > 5 && value < 10 ) {
// do stuff
}
valid. Kondisional diperiksa pada setiap iterasi melalui loop. Segera setelah salah satu tidak cocok, loop while () akan keluar. Anda juga bisa menggunakan istirahat;
while ( value > 5 ) {
if ( value > 10 ) { break; }
...
}
Anda bisa menggunakan "break", yang sudah disebutkan dalam jawaban di atas. Jika Anda perlu mengembalikan beberapa nilai. Anda dapat menggunakan "return" seperti kode di bawah ini:
while(true){
if(some condition){
do something;
return;}
else{
do something;
return;}
}
dalam hal ini, saat ini berada di bawah metode yang mengembalikan beberapa jenis nilai.
Lihat Tutorial Java ™ oleh Oracle.
Tapi pada dasarnya, seperti kata dacwe , gunakan
break
.Jika Anda bisa, sering kali lebih jelas untuk menghindari penggunaan break dan beri tanda centang sebagai ketentuan while loop, atau gunakan sesuatu seperti do while loop. Ini tidak selalu memungkinkan.
sumber
jika Anda menulis sementara (benar) . Artinya loop tidak akan berhenti dalam situasi apapun untuk menghentikan loop ini Anda harus menggunakan pernyataan break antara while block.
package com.java.demo; /** * @author Ankit Sood Apr 20, 2017 */ public class Demo { /** * The main method. * * @param args * the arguments */ public static void main(String[] args) { /* Initialize while loop */ while (true) { /* * You have to declare some condition to stop while loop * In which situation or condition you want to terminate while loop. * conditions like: if(condition){break}, if(var==10){break} etc... */ /* break keyword is for stop while loop */ break; } } }
sumber
Anda dapat menggunakan "break" untuk memutuskan loop, yang tidak akan memungkinkan loop memproses lebih banyak kondisi
sumber
Untuk keluar dari loop sementara, gunakan
Break;
Ini tidak akan memungkinkan untuk melakukan loop untuk memproses kondisi apa pun yang ditempatkan di dalam, pastikan untuk memiliki ini di dalam loop, karena Anda tidak dapat menempatkannya di luar loopsumber