web-dev-qa-db-ja.com

Javaでwhileループを終了する方法

Javaでwhileループを終了または終了するための最良の方法は何ですか?

たとえば、私のコードは現在次のとおりです。

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

        // I need to exit here

    }
}
73
BalaB

break を使用してください。

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

ただし、コードが指定したとおりに正確に表示される場合は、通常のwhileループを使用して条件をobj != nullに変更できます。

while (obj != null) {
    ....
}
169
dacwe
while(obj != null){
  // statements.
}
6
Dev

breakはあなたが探しているものです:

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

あるいは、ループを再構築します。

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

または

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

私のコードでwhile(true)を含むwhile...do構造を見つけることは私の目を不自由にさせるでしょう。代わりに標準のwhileループを使用してください。

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

そして、Yacobyが彼の answer で提供しているリンクを見てください。これもそうです。真剣に。

while文とdo-while文

3
Xavi López

While()チェック内で、他の論理チェックと同じ規則を使用して複数の条件付き論理テストを実行できます。

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

同様に動作します

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

有効です。ループを通過するたびに条件文がチェックされます。一致しなくなるとすぐに、while()ループは終了します。 breakを使うこともできます。

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

Oracleによる Java™Tutorials を見てください。

しかし基本的には、 dacweは言った のように、breakを使う。

可能であれば、breakを使用せずにwhileループの条件としてチェックを入れるか、do whileループのようなものを使用する方が明確です。しかし、これは常に可能というわけではありません。

2
Yacoby

while(true)と書くと。つまり、このループを停止するために、whileブロックの間にbreakステートメントを使用する必要があるため、ループはどのような状況でも停止しません。

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
Ankit Sood

上の答えですでに述べたように、あなたは "break"を使うことができます。いくつかの値を返す必要がある場合以下のコードのように "return"を使うことができます。

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

この場合、これは何らかの値を返すメソッドの下にあります。

0