Dog foot print

귀찮은 일을 대신해주는 반복문 for , while. 본문

Javascript

귀찮은 일을 대신해주는 반복문 for , while.

개 발자국 2019. 6. 27. 01:04

혹시 단순 노동일을 해본적이 있나? 나는 23살 군대에서 휴가나와서 잠시 아버지의 목공이신 지인분을 따라 아파트 건설현장에 가서 일을 도와준적이 있다. 

 

내가 했던 일은 1층에 문을만드는 자재가 오면 그 자재를 2개동의 각 층마다 두는 역할을 했다. 엘리베이터를 타기에 육체적으로 힘들지는 않았지만 반복되는 작업이라 매우 귀찮고 지루했다. 프로그래밍을 짤때도 마찬가지이다. 1부터 10까지 console.log()를 사용하여 출력하려면  코드상에 다음과 같이 작성해야는데 보기도 좋지않고 만약 1부터 10000까지 출력해야 한다면 이는 실로 말할 수 없는 고통스러운 일이 될 것이다. 

 

console.log(1)
console.log(2)
console.log(3)
...
console.log(10)

 

앞으로 다룰 for 과 while 문은 우리가 해야하는 반복적인 일들을 컴퓨터가 대신해주며 코드 또한 매우 멋지게 만들어 줄것이다.

 

 for문 

for문의 모습은 다음과 같다. 

 

for(var i=0; i=<10; i++){
	//반복되는 동안 실행할 문장
	console.log(i);
}

 

for키워드를 작성하고 소괄호를 열어 다음과 같은 순서로 작성한다. (초기식 ; 조건 ; 코드가 반복될때마다 실행될 연산 ) 이렇게 작성을 하고 나면 블록을 열어 for문이 반복될 때 마다 실행 될 프로그램을 작성해준다. 

 

우리가 주의 깊게 봐야하는 곳은 for문 바로 옆 어규먼트다. 

 

첫번째 인자로는 초기식을 작성하는데 보통 for문의 초기식이 순서를 가리키는 변수일때는 i라고 선언한다. 다음으로 조건이다. 조건은 참과 거짓을 판별하여 조건이 true 를 반환한다면 블록안의 실행문장을 실행한다. (위의 예제에서는 초기식에서 선언한 i를 조건으로 사용했지만 초기식으로 설정한 i이외의 값들도 설정이 가능하다.  )다음으로 반복문이 실행되고 난 다음 실행 될 연산이다. 반복문의 실행문장을 끝까지 실행한 후 다음 반복이 실행되기 전 실행하는 연산이다. 

 

( 위의 예제에서는 초기식 i 를 증가 시켜주었지만 i 이외의 다른 값을 다른 연산으로 할당이 가능하다. ) 

( 위의 식에서나온 i++은 후위증감자라는 것으로 i값에 +1을 더한다 . i = i+1, i += 1 두개의 식과 같다. )  

 

while문

 

while문은 for문과 조금 다르지만 반복문이라는 것은 동일하다. 

 

var a = 10;

while(a < 20){
	console.log("a");
    a++;
}

 

while 문은 for문과 달리 초기식이 없고, 반복 후 재할당할 연산도 없다. 그저 조건만 있는데 for문과 달리 while문은 재할당할 연산이 없기 때문에 while문 안에 반복을 할 때 마다 조건을 점차 맞출 수 있는 연산을 넣거나 while문의 반복에서 벗어날 수 있게 break를 적어주어야 한다.  

 

while(a<20){
    if(a==15){
        console.log("15");
        break; //a가 15가 되면 break에 의해 while문에서 벗어난다. 
    }
    console.log("a");
    a++;
}

 

for 문 또한 break를 사용해서 조건에 맞더라도 하던 반복을 멈추고 for문에서 탈출 할 수 있다. 

 

for(var a = 10; a<20; a++){
    if(a==15){
        continue;
    }
    console.log(a);
}
//결과는 10, 11, 12, 13, 14, 16, 17, 18, 19 
var a = 10;
while(a<20){
    if(a==15){
        continue;
    }
    console.log(a);
}
//결과는 10, 11, 12, 13, 14, 16, 17, 18, 19 

 

그리고  continue라는 키워드가 있는데 만약 반복문이 이 키워드를 만나면 해당하는 반복의 실행문장은 작동하지 않고 다음 반복으로 넘어가게 된다. 

 

정리하며 

for 문과 while 문은 컴퓨터의 존재이유인것 같다. 진정으로 사람이 하기 힘들고 귀찮은 반복작업들을 대신 해주니 말이다.

 

for 문과 while 문은 자바든 자바스크립트든 c언어든 어디서나 사용되는 반복문이니 꼭 익히길 바란다. 

반응형
Comments