Java에서 while 루프를 어떻게 종료합니까?


86

Java에서 while 루프를 종료 / 종료하는 가장 좋은 방법은 무엇입니까?

예를 들어, 내 코드는 현재 다음과 같습니다.

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
while(obj != null){
  // statements.
}

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 () 루프가 종료됩니다. break를 사용할 수도 있습니다.

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

Oracle 의 Java ™ 자습서 를 살펴보십시오 .

그러나 기본적으로 dacwe 말했다 사용 break.

가능하다면 break 사용을 피하고 while 루프의 조건으로 체크를 넣거나 do while 루프와 같은 것을 사용하는 것이 더 분명합니다. 그래도 항상 가능한 것은 아닙니다.


0

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

"break"를 사용하여 루프를 끊을 수 있습니다. 그러면 루프가 더 많은 조건을 처리 할 수 ​​없습니다.


0

while 루프를 종료하려면 Break;내부에있는 조건을 처리하기 위해 루프를 허용하지 않습니다. 루프 외부에 배치 할 수 없으므로 루프 내부에 있어야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.