Làm cách nào để thoát khỏi vòng lặp while trong Java?


86

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:


184

Sử dụng break:

while (true) {
    ....
    if (obj == null) {
        break;
    }
    ....
}

Tuy nhiên, nếu mã của bạn trông giống hệt như bạn đã chỉ định, bạn có thể sử dụng một whilevòng lặp bình thường và thay đổi điều kiện thành obj != null:

while (obj != null) {
    ....
}


7

break là những gì bạn đang tìm kiếm:

while (true) {
    if (obj == null) break;
}

cách khác, hãy cấu trúc lại vòng lặp của bạn:

while (obj != null) {
    // do stuff
}

hoặc là:

do {
    // do stuff
} while (obj != null);


3

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; }  
    ...  
}  

2

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ị.


đây là câu trả lời chính xác và usfeul!
Noor Hossain

2

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.


0

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;
        }
    }
}

0

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


0

Để 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

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.