이 기사에서는 "while"루프와 "do-while"루프의 차이점에 대해 논의 할 것입니다.
비교 차트
비교 근거 | 동안 | 해야 할 일 |
---|---|---|
일반 서식 | while (조건) { 진술; // 루프의 본문 } | 해야 할 것{ . 진술; // 루프의 본문. . } while (조건); |
제어 조건 | 'while'루프에서는 제어 조건이 루프의 시작 부분에 나타납니다. | 'do-while'루프에서 제어 조건은 루프의 끝에 나타납니다. |
반복 | 첫 번째 반복에서 조건이 거짓으로 나타나면 반복이 발생하지 않습니다. | 첫 번째 반복에서 조건이 false 인 경우에도 반복은 적어도 한 번 발생합니다. |
while 루프의 정의
while 루프는 C ++과 Java에서 사용할 수있는 가장 기본적인 루프입니다. while 루프의 작동은 C ++과 Java에서 비슷합니다. while 루프의 일반적인 형식은 다음과 같습니다.
while (조건) {명령문; // 루프의 본문}
while 루프는 먼저 조건을 확인하고 조건이 true이면 조건이 false가 될 때까지 루프를 반복합니다. while 루프의 조건은 부울식이 될 수 있습니다. expression이 0이 아닌 값을 반환하면 조건은 "true"이고 표현식이 0 값을 반환하면 조건은 "false"가됩니다. 조건이 true가되면 루프가 반복되고 조건이 false가되면 컨트롤은 루프의 바로 다음에 오는 코드 줄로 전달됩니다.
루프의 본문 또는 본문은 빈 문이나 단일 문 또는 문 블록 일 수 있습니다.
while 루프의 작동에 대해 살펴 보겠습니다. 아래 예제에서 코드는 1에서 10까지 인쇄됩니다.
// 예제는 자바이다. 클래스 while public static void main (args []) {int n = 0; while (n <= 10) {n ++; system.out.println ( "n ="+ n); }}} // 출력 n = 1 n = 2 n = 3 n = 4 n = 5 n = 6 n = 7 n = 8 n = 9 n = 10
여기서 'n'의 초기 값은 0이며 while 루프의 조건을 true로 만듭니다. 그런 다음 컨트롤은 while 루프 본문에 들어가고 while 루프의 본문에있는 첫 번째 문에 따라 'n'값이 증가합니다. 그런 다음 'n'의 값이 출력되고 다시 while 루프의 조건으로 되돌아갑니다. 이제 'n'의 값은 1로 다시 조건을 충족시키고 루프의 본문이 다시 실행됩니다.
이것은 조건이 참이 될 때까지 계속되고, 조건이 거짓이 되 자마자 루프가 종료됩니다. for 루프와 마찬가지로 while 루프는 먼저 조건을 확인한 다음 루프 본문을 실행합니다.
do-while 루프의 정의
while 루프와 마찬가지로 첫 번째 반복에서만 제어 조건이 거짓이되면 while 루프의 본문이 전혀 실행되지 않습니다. 그러나 do-while 루프는 while 루프와 다소 다릅니다. do-while 루프는 첫 번째 시도에서 조건이 false 인 경우에도 루프의 본문을 적어도 한 번 실행합니다.
do-while의 일반적인 형태는 다음과 같습니다.
do {. statements // 루프 본문. . } while (조건);
do-while 루프에서 제어 본문 전에 루프 본문이 발생하고 조건문은 루프의 맨 아래에 있습니다. while 루프와 마찬가지로 루프의 본문은 C ++과 Java가 모두 null 문을 허용하거나 하나의 문 또는 문 블록 만있을 수 있으므로 비어있을 수 있습니다. 여기의 조건은 또한 부울 식입니다.이 값은 0이 아닌 값에 대해 모두 true입니다.
do-while 루프에서 컨트롤은 먼저 do-while 루프 본문의 문에 도달합니다. 본문의 문이 먼저 실행 된 다음 컨트롤이 루프의 조건 부분에 도달합니다. 조건이 확인되고 참이면 루프가 다시 반복되고 조건이 거짓이면 컨트롤은 루프 직후의 다음 줄로 다시 시작됩니다.
위의 예제를 do-while에 구현하여 이해합시다.
// 예제는 자바이다. 클래스 while public static void main (args []) {int n = 1; do {system.out.println ( "n ="+ n); n ++; } (n <10)}} // 출력 n = 1 n = 2 n = 3 n = 4 n = 5 n = 6 n = 7 n = 8 n = 9 n = 10
여기에서 n = 1의 값을 사용하면 컨트롤이 루프 본문에 다시 시작되고 'n'값이 인쇄 된 다음 해당 값이 증가합니다. 그런 다음 제어가 do-while 루프의 조건으로 재개됩니다. n = 1 일 때 true가되는 조건이 검증되므로 반복문이 반복되어 조건이 거짓이 될 때까지 계속됩니다.
while과 do-while 루프의 주요 차이점
- while 루프는 루프가 시작될 때 조건을 검사하고 조건이 루프 내부의 만족 된 statement이면 실행됩니다. do-while 루프에서 조건은 루프 본문에있는 모든 명령문이 실행 된 후에 검사됩니다.
- while 루프의 조건이 false 인 경우 루프 내의 단일 문이 실행되지 않고 'do-while'루프의 조건이 false 인 경우 루프 본문이 적어도 한 번 실행 된 다음 조건이 테스트됩니다.
결론:
while과 do-while 루프는 반복문입니다. 먼저 루프를 원한다면 조건을 확인한 다음 루프 내의 명령문을 실행하고 while 루프를 사용해야합니다. 루프의 끝에서 종료 조건을 테스트하려면 do-while 루프가 사용됩니다.