본문 바로가기

IT 인터넷/javascript

[javascript 언어공부] 반복문(1) - while문

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

이번에는 프로그래밍적으로 반복적인 방법을 실행하는 방법인 반복문에 대해서 알아보자.


이렇게 반복적인 작업을 영어로는 loop 또는 iterate라고 부른다.

영어로된 용어를 이야기하는 이유는, 프로그래밍 하면서 여러가지 문제점에 봉착하게 되는데, 

그럴 때 가장 중요한게 검색이며, 국내 자료는 많지 않기 때문에 영어로 자료를 검색해야 하는 경우가 많다. 

따라서 이런 키워드들은 알아두면 좋다. 


본격적으로 반복문에 대해서 배워보도록 하자.


인간은 반복적인 작업을 잘 하지 못한다. 실수하고 지루해한다.

컴퓨터는 인간의 이러한 결점을 대신해주기 위한 도구이며, 컴퓨터는 반복적인 작업을 아주 잘한다.


그럼 우리는 어떻게 컴퓨터에게 반복적인 작업을 시킬 수 있을까?


반복문은 조건문과 함께 프로그래밍 부분을 지탱하는 가장 중요한 분야이며,

조건문이 컴퓨터를 똑똑하게 하면, 반복문은 컴퓨터를 강력하게 한다.


반복문을 사용해서 컴퓨터에게 일을 시키려면, 문법을 알아야 한다.

하나는 while 이라는 문법이고, 하나는 for 라는 문법이다.


두가지 다 뜻은 ~ 동안 이라는 뜻이며, ~동안 반복작업을 한다 라고 이해하면 쉽다.



while부터 알아보자. while문의 구조를 알아보자. 


while(boolean){

반복해서 실행할 코드

}


while 문 뒤 괄호의 boolean이 true인 경우에만, 

중괄호 { }안에 있는 코드가 실행된다는 뜻이다 .



html 코드 안에 다음과 같은 코드를 3줄 입력해보자. 


hello world;<br />


컴퓨터에 아무런 명령을 하지 않는다면, 위의 코드를 복사해 2번 붙여넣기를 하면된다. 


hello world;<br />

hello world;<br />

hello world;<br />


이렇게 3줄이 만들어졌다. 하지만 이게 1000줄이 된다면? 10000줄이 된다면? 끔찍하다.



반복문으로 컴퓨터에 명령을 하기 전에 기본적인 것 한가지만 더 짚고 넘어가자. 

javascript로 화면에 글자를 쓰려면, document.write를 쓰면 된다. 


document.write("hello world<br />");


실행해보면 화면에 hello world가 실행된다. 



이제 배웠으니 반복문을 사용해보자.


  while(true){

      document.write('hello world <br />');

  }


while 뒤 괄호안에 true인 동안, document.write('hello world <br />'); 라는 명령을 해라.

실행하면 저 구문이 무한대로 실행될 것이고 컴퓨터에 큰 부담이 될 것이다. 

이를 무한 loop, 무한 반복이라 한다. 


즉 어떠한 반복이 실행될 떄 그 반복이 정지하지 않고 계속해서 끊임없이

반복해서 컴퓨터에 부담을 주는 상황을 무한루프라고 하며, 무한루프는 프로그램을 작성할 때 발생할 수 있는,

발생하기 쉬운 아주 심각한 문제이다.


따라서 무한루프에 빠지지 않는 방법을 잘 이해해야 한다. 

이를 위해선 while 괄호 안에 true라는 것이 일정 시점에 false로 바뀌어야 한다는 것이다.



즉 이번에는 반복문이 언제까지 실행할 것이냐에 대해서 제어해보자. 


  while(true){

      document.write('hello world <br />');

  }


이 코드를 수정해보자. 


우선 i라는 변수를 만든다. 이 변수는 반복문이 언제까지 실행될 것이냐에 대한 기준점 역할을 할 것이다.

그리고 반복문이 실행될 때마다 i의 값이 1씩 증가할 수 있는 코드를 작성해보자.  

마지막으로 while괄호 안에 i는 10보다 작다는 조건을 넣어준다. 이는 비교를 통해 true / false 둘중에 하나가 되며,

true인 경우엔 실행되고, false인 실행하지 않게 된다. 


코드를 보면 다음과 같다. 


var i = 0;

while(i < 10 ){

document.write('hello world '+i+'<br />');

i = i+1; 

}


i는 0부터 9일 때 까지만 실행되며, i가 10이 되었을 때 10 < 10 이라는 조건이 false가 되면서 반복문의 실행이 멈추게 되는 것이다.

이를 실행해보면 


hello world 0 

hello world 1

hello world 2

hello world 3

hello world 4

hello world 5

hello world 6

hello world 7

hello world 8

hello world 9


이처럼 hello world가 10번 실행된다. 


다음 시간에는 다른 반복문인 for문에 대해서 알아보자.