Cách tốt nhất để thoát / chấm dứt vòng lặp while trong Java là gì?
Ví dụ, mã của tôi hiện như sau:
while(true){
if(obj == null){
// I need to exit here
}
}
Câu trả lời:
Tìm một while...do
cấu trúc có while(true)
trong mã của tôi sẽ khiến tôi chảy máu mắt. Sử dụng một while
vòng lặp tiêu chuẩn để thay thế:
while (obj != null){
...
}
Và hãy xem liên kết Yacoby cung cấp trong câu trả lời của anh ấy , và cả câu trả lời này nữa. Nghiêm túc.
Bạn có thể thực hiện nhiều kiểm tra logic điều kiện trong kiểm tra while () bằng cách sử dụng các quy tắc tương tự như trong bất kỳ kiểm tra logic nào.
while ( obj != null ) {
// do stuff
}
hoạt động, như vậy
while ( value > 5 && value < 10 ) {
// do stuff
}
có giá trị. Các điều kiện được kiểm tra trên mỗi lần lặp qua vòng lặp. Ngay sau khi một vòng lặp không khớp, vòng lặp while () sẽ được thoát. Bạn cũng có thể sử dụng break;
while ( value > 5 ) {
if ( value > 10 ) { break; }
...
}
Bạn có thể sử dụng "break", đã được đề cập trong các câu trả lời ở trên. Nếu bạn cần trả về một số giá trị. Bạn có thể sử dụng "return" như mã bên dưới:
while(true){
if(some condition){
do something;
return;}
else{
do something;
return;}
}
trong trường hợp này, while này nằm trong một phương thức trả về một số loại giá trị.
Hãy xem Hướng dẫn Java ™ của Oracle.
Nhưng về cơ bản, như dacwe đã nói , sử dụng break
.
Nếu bạn có thể, hãy tránh sử dụng break và đặt dấu kiểm như một điều kiện của vòng lặp while hoặc sử dụng một cái gì đó giống như vòng lặp do while. Điều này không phải lúc nào cũng có thể thực hiện được.
nếu bạn viết trong khi (true) . nó có nghĩa là vòng lặp sẽ không dừng lại trong bất kỳ tình huống nào để dừng vòng lặp này, bạn phải sử dụng câu lệnh break giữa khối while.
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;
}
}
}
Bạn có thể sử dụng "break" để ngắt vòng lặp, điều này sẽ không cho phép vòng lặp xử lý thêm các điều kiện
Để thoát khỏi vòng lặp while, hãy sử dụng Break;
Điều này sẽ không cho phép vòng lặp xử lý bất kỳ điều kiện nào được đặt bên trong, hãy đảm bảo có điều kiện này bên trong vòng lặp, vì bạn không thể đặt nó bên ngoài vòng lặp