저는 몇 년 동안 Java로 프로그래밍을 해왔지만 최근에 정규 학위를 받기 위해 학교로 돌아 왔습니다. 마지막 과제에서 아래의 루프와 같은 루프를 사용하면 포인트를 잃어 버렸다는 사실에 놀랐습니다.
do{
//get some input.
//if the input meets my conditions, break;
//Otherwise ask again.
} while(true)
이제 테스트를 위해 콘솔 입력을 스캔하고 있지만 사용 break
이 비슷하기 때문에 이런 종류의 루프는 권장하지 않는다는 말을 들었 goto
습니다.
나는 함정 goto
과 그 자바 사촌을 완전히 이해 하고 있으며 break:label
, 그것을 사용하지 않는 것이 좋습니다. 또한 더 완전한 프로그램이 다른 탈출 수단을 제공한다는 것을 알고 있습니다.
무슨 일이야 do-while(true)
?
break
는 아마도 의미가 있지만 실제로는 오해입니다. 아마도 당신은 이것에 대해 당신의 교수를 교육 할 수 있습니다;) 내 경험에서 교수들은 프로그래밍 기술에 대해 많이 알지 못합니다.
do {} while (true)
동등한 while(true) {}
것은 후자의 형식과 훨씬 더 분명합니다.
break
언어가없는 언어로 프로그래밍해야합니다. 당신이 그것을 원하기 전에 너무 많은 루프를하지 않습니다!