ฉันจะออกจาก while loop ใน Java ได้อย่างไร


86

วิธีที่ดีที่สุดในการออก / สิ้นสุด while loop ใน Java คืออะไร?

ตัวอย่างเช่นรหัสของฉันในปัจจุบันมีดังนี้:

while(true){
    if(obj == null){

        // I need to exit here

    }
}

คำตอบ:


184

ใช้break:

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

อย่างไรก็ตามหากโค้ดของคุณมีลักษณะตรงตามที่คุณระบุไว้คุณสามารถใช้whileลูปปกติและเปลี่ยนเงื่อนไขเป็นobj != null:

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


7

break คือสิ่งที่คุณกำลังมองหา:

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

หรือปรับโครงสร้างลูปของคุณ:

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

หรือ:

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

3

การค้นหาwhile...doโครงสร้างwhile(true)ในรหัสของฉันจะทำให้ตาของฉันเลือดออก ใช้whileลูปมาตรฐานแทน:

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

และดูลิงค์ที่ Yacoby ให้ไว้ในคำตอบของเขาและลิงค์นี้ด้วย อย่างจริงจัง.

คำสั่ง while และ do-while


3

คุณสามารถทำการทดสอบตรรกะหลายเงื่อนไขได้ภายในการตรวจสอบ while () โดยใช้กฎเดียวกันกับภายในการตรวจสอบตรรกะใด ๆ

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

ใช้งานได้เช่นเดียวกับ

while ( value > 5 && value < 10 ) {  
    // do stuff  
}  

ถูกต้อง เงื่อนไขจะถูกตรวจสอบในการวนซ้ำแต่ละครั้งผ่านลูป ทันทีที่ไม่ตรงกันลูป while () จะถูกออก คุณยังสามารถใช้ตัวแบ่ง

while ( value > 5 ) {  
    if ( value > 10 ) { break; }  
    ...  
}  

2

คุณสามารถใช้ "break" ซึ่งได้กล่าวไว้แล้วในคำตอบข้างต้น หากคุณต้องการคืนค่าบางค่า คุณสามารถใช้ "return" เหมือนโค้ดด้านล่าง:

 while(true){
       if(some condition){
            do something;
            return;}
        else{
            do something;
            return;}
            }

ในกรณีนี้ขณะนี้อยู่ภายใต้วิธีการที่ส่งคืนค่าบางประเภท


นี่คือคำตอบที่แน่นอนและเป็นประโยชน์!
Noor Hossain

2

ดูบทแนะนำ Java ™โดย Oracle

แต่โดยพื้นฐานแล้วดังที่dacwe กล่าวว่าให้ใช้break.

ถ้าคุณทำได้มักจะชัดเจนกว่าที่จะหลีกเลี่ยงการใช้ break และวางเช็คเป็นเงื่อนไขของ while loop หรือใช้ do while loop สิ่งนี้ไม่สามารถทำได้เสมอไป


0

ถ้าคุณเขียนในขณะที่ (จริง) หมายความว่าลูปจะไม่หยุดในสถานการณ์ใด ๆ สำหรับการหยุดลูปนี้คุณต้องใช้คำสั่ง break ระหว่าง 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;
        }
    }
}

0

คุณสามารถใช้ "break" เพื่อทำลายลูปซึ่งจะไม่อนุญาตให้ลูปประมวลผลเงื่อนไขเพิ่มเติม


0

หากต้องการออกจากลูป while ให้ใช้Break;สิ่งนี้จะไม่อนุญาตให้วนซ้ำเพื่อประมวลผลเงื่อนไขใด ๆ ที่วางอยู่ภายในตรวจสอบให้แน่ใจว่ามีสิ่งนี้อยู่ในลูปเนื่องจากคุณไม่สามารถวางไว้นอกลูปได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.