Java 프로그램에서 while 루프를 사용하면 부울 유형을 사용하여 종료 할 때 작동하지 않는 것으로 나타났습니다. 나는 그것을 테스트하기 위해 간단한 것을 타이핑했다. 코드는 i = 9를 통해 완료되고 테스트는 false로 출력됩니다.왜 while 루프가 종료되지 않습니까?
public class LoopTesting {
public static void main(String[] args) {
boolean test = true;
while(test) {
for (int i = 1; i < 10; i++) {
System.out.println(i);
if(i == 5) test = false;
}
}
System.out.println(test);
}
}
편집 : 이것은 당신이
while(test) {
for (int i = 1; i < 10; i++) {
System.out.println(i);
if(i == 5) {
test = false;
break;
}
}
}
이상을 원하는 것입니다
while(test) {
for (int i = 1; i < 10; i++) {
System.out.println(i);
}
test = false;
for(int i = 11; i < 20; i++) {
System.out.println(i);
}
}
그리고 19
그 사실 제대로 .. 9 인쇄 및 루프가 종료 동안 – vlatkozelka
예상 정확히 무엇을 "테스트", 작업, 그것은 'FALSE'를 인쇄 이유입니다. – eckes
@alfasin 단일 스레드 (주 스레드) 예제의 경우 동기화 또는 동시 처리 문제와 최적화가 필요하지 않습니다. – eckes