Java'da bir while döngüsünden nasıl çıkırım?


86

Java'da bir while döngüsünden çıkmanın / sonlandırmanın en iyi yolu nedir?

Örneğin, kodum şu anda aşağıdaki gibidir:

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

        // I need to exit here

    }
}

Yanıtlar:


184

Kullanım break:

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

Bununla birlikte, kodunuz tam olarak belirttiğiniz gibi görünüyorsa normal bir whiledöngü kullanabilir ve koşulu şu şekilde değiştirebilirsiniz obj != null:

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

7
while(obj != null){
  // statements.
}

7

break aradığınız şey:

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

alternatif olarak, döngünüzü yeniden yapılandırın:

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

veya:

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

3

Kodumda bulunan bir while...doyapı bulmak while(true)gözlerimi kandırırdı. whileBunun yerine standart bir döngü kullanın:

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

Ve Yacoby onun sağlanan bağlantıyı bir göz atın cevap ve bunu da. Ciddi anlamda.

While ve do-while İfadeleri


3

While () denetimi içinde, herhangi bir mantıksal denetimle aynı kuralları kullanarak birden çok koşul mantıksal testi yapabilirsiniz.

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

olduğu gibi çalışır

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

geçerli. Koşullar döngü boyunca her yinelemede kontrol edilir. Biri eşleşmediği anda while () döngüsünden çıkılır. Ayrıca break de kullanabilirsiniz;

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

2

Yukarıdaki cevaplarda zaten bahsedilen "ara" kelimesini kullanabilirsiniz. Bazı değerleri döndürmeniz gerekiyorsa. Aşağıdaki kod gibi "return" kullanabilirsiniz:

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

bu durumda, bu while bir tür değerleri döndüren bir yöntem altındadır.


bu kesin ve işe yarar cevap!
Noor Hossain

2

Oracle tarafından hazırlanan Java ™ Eğitimlerine bir göz atın .

Ama temelde, dacwe'nin dediği gibi , kullanın break.

Yapabiliyorsanız, break kullanmaktan kaçınmak ve kontrolü while döngüsünün bir koşulu olarak koymak veya bir do while döngüsü gibi bir şey kullanmak genellikle daha açıktır. Yine de bu her zaman mümkün değildir.


0

while yazarsan (doğru) . bu, döngünün hiçbir durumda durmayacağı anlamına gelir, bu döngüyü durdurmak için while bloğu arasında break deyimini kullanmanız gerekir.

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

Döngünün daha fazla koşulu işlemesine izin vermeyecek şekilde döngüyü kırmak için "kır" seçeneğini kullanabilirsiniz.


0

Bir while döngüsünden çıkmak için Break;Bu, döngü içine yerleştirilen herhangi bir koşulu işlemeye izin vermez, döngünün dışına yerleştiremeyeceğiniz için bunun döngü içinde olduğundan emin olun.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.