while문은 반복문 입니다.
반복문은 어떠한 값이 조건에 의해 그 조건에 만족하는 동안 계속 실행할 수 있습니다.
예를 들어 1을 200회 화면에 출력을 해야 한다면 1을 직접 200번 타이핑 하지 않고 반복문을 사용해 200회 출력할 수 있게 할 때 사용합니다.
사용법은 아래와 같습니다.
- while(조건){
- 조건에 만족할 동안 실행할 명령문
- }
예를 들어서 1부터 10까지 출력하는 것을 while문으로 만들어 본다면 다음과 같습니다.
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8" />
- <title>자바스크립트</title>
- <script>
- a = 1;
- while(a <= 10){
- document.write(a);
- a++;
- }
- </script>
- </head>
- <body>
- </body>
- </html>
위의 소스를 보면 a의 값을 1로 선언 후 조건에는 a가 10보다 작거나 같다는 조건을 내세우고 있죠 그리고 그동안에 a의 값을 출력하는 명령문 그리고 a의 값을 1씩 올리는 a++가 있습니다.
위의 소스에 a++가 없다면 a가 값을 증가하면서 10에 도달하는 기능이 없으므로 무한루프에 걸리게 됩니다. 위의 소스를 실행할때 한번 테스트 해보시기 바랍니다.
다음은 1부터 10까지의 누적합을 구하는 소스입니다. 알고리즘을 파악해 보시기 바랍니다. ^^ 면접 보면 의외로 이런 간단한 문제 내는곳도 있습니다.
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8" />
- <title>자바스크립트</title>
- <script>
- a = 1;
- sum = 0;
- while(a <= 10){
- sum += a;
- document.write('누적합'+sum+"<br />");
- a++;
- }
- </script>
- </head>
- <body>
- </body>
- </html>
이번엔 do~while문에 대해서 알아봅시다.
위의 while문에서는 조건식이 참이면 명령문들을 실행했는데요 do ~ while문은 일단 한번 실행을 한 후 조건문 검사후 참이면 명령문을 실행하고 아니면 빠져 나온답니다. 일단 구조를 한번 살펴 봅시다.
그럼 한번 소스를 통해서 do ~ while문이 무엇인지 이해해 보도록 합시다.
- a = 1;
- do{
- document.write(a);
- }
- while(a==10)
위의 소스를 보면은 a=1입니다. 조건식을 보면 1==10이죠 즉 a가 10과 같을 동안 반복분을 실행하는거죠.
그런데 즉 조건식에서는 1== 10이 동일하지 않으므로 반복문을 실행하지 않죠. 하지만 do문에 있는 실행문을 한번은 실행을 한 후에 조건식을 검사를 하기 때문에 한번은 실행을 합니다.
즉, a값인 1이 한번은 출력이 된 후에 조건식을 검사후에 조건에 만족하지 않으면do문 안에 명령문을 실행하지 않습니다.
그럼 전체 소스를 보면서 테스트 해보시기 바랍니다. ^^
- <!DOCTYPE html>
- <html>
- <head>
- <title> david's Web Laboratory</title>
- <style type="text/css">
- </style>
- <script type="text/javascript">
- a = 1;
- do{
- document.write(a);
- a++;
- }
- while(a==10)
- </script>
- </head>
- <body>
- </body>
- </html>
이것으로 while 문에 대한 설명을 마치고,
다음 강좌에서는 for문에 대해서 알아봅시다.^^
봐주셔서 감사합니다. 문의 또는 잘못된 설명은 아래의 댓글에 부탁드립니다.
당신의 작은 누름이 저에게는 큰 희망이 됩니다.
댓글 0개
정렬기준