웹표준,웹접근성(html, html5, css, css3, javascript, jQuery, jQueryMobile, snecha, senchaTouch, php, mobileWebApp)

반복문 (while, do while, for, for in) 본문

javascript/Tutorial

반복문 (while, do while, for, for in)

jokack01 2013. 11. 22. 11:43

반복문 


똑같은 일을 여러번 반복 해야 할때 일을 간편하게 처리하기 위해서 사용하는 것으로 

다음과 같은 코드는 화면에 'print'라는 단어를 3번 반복시켜 출력해 준다.

console.log('print');
console.log('print');
console.log('print');
console.log('print');

console.log('print');

console.log('print');

console.log('print');

물론 저렇게 사용하는 경우는 없겟지만 이것을 수백번 이상 실행시키려고 할경우 이것을 복사해서 붙여 넣는 것은 상당히 지루한 일이 아닐 수 없다.

while, do while, for, for in 문등의 반복문을 이용해서 여러번 반복되는 일들을 간편하게 처리 할 수 있다. 



while 반복문

자바스크립트의 가장간단한 반복문으로 if 조건문과 형태가 유사하다. 

while(불리언표현식){

문장

}

불리언표현식이 참인동안 지속적으로 문장을 실행하므로 무한반복되지 않도록 조건을 거짓으로 만들수 있는 내용이 문장에 포함돼야 한다. 


무한본복의 예)

while(true){

console.log('무한루프'); //무한반복되는 경우를 무한루프라고 부른다.

}


while문의 예 )

var num = 0; // num 변수에 0값 대임

while (num <= 5){ // num값이 5보다 작거나 같을때 까지만 반복

    console.log(num + 'ea'); // 화면에 num 값 을 출력

    num++; // 증감연산자를 사용 화면에 출력뒤 num의 값에 +1 을 해준다.

}



do while 반복문

while문은 조건을 먼저 검사한 후에 실행하지만 어떤 경우에는 조건이 참이든 거짓이든 관계 없이 내부문장을 최소 한 번은 실행해야하는 경우가 있다. 이때 사용하는 것이 do while 문이다.

while문과 다르게 조건을 비교하는 부분이 마지막에 위치한다.


do while 선언

do {

문장

}while(불리언표현식)


do while문 예)

var num = 0;  // num 변수에 0값 대입

do {  // 처음에 조건을 거치지 않으므로 처음 한번은 무조건 실행

    console.log(num + 'ea');  // 화면에 num 값 출력

    num++;  // 현재 num값에 + 1 대입

}while(num < 5)  // 5보다 작은 수 일때까지 실행



for 반복문

- 조건보다 횟수에 비중을 둘때 for 반복문을 사용한다.

- while 문과 달리 초기식과 조결식이 있다.


for 반복문의 선언

for( 초기식; 조건식; 종결식){

문장

}

for 반복문의 실행순서

1. 초기식 실행

2. 조건식을 비교 참이면 문장 실행 거짓이면 반복문 종료

3. 종결식 실행

4. 다음 단계로 이동


일반적인 for 문의 예)

for(var i = 0; i < length; i++){

문장

}


for 반복문의 초기문안에서 선언하는 변수는 i, j 등과 같이 한글자로 표현하는 것이 일반적이다.


for 반복문의 예1) - 배열 출력

var array = ['kim','lee','park'];  // 배열선언

for(var i=0; i < array.length; i++){  // i 라는 변수가 array에 담긴 수 만큼 반복

    console.log(array[i]);  // 한번반복될때 마다 array의 배열의 인덱스를 출력

}



for 반복문의 예2) - 배열 역으로 출력

var array = ['kim','lee','park'];  // 배열선언

// i변수에 array의 배열 갯수 만큼에서 1을 뺀다.

// 자바스크립트는 0 부터 시작하기때문에 array 배열의 갯수 3에서 1을 빼준것이다.

// i변수의 값이 0과 같거나 클때 까지 증감연산자를 이용 1씩 마이너스 해준다.

for(var i = array.length -1; i >=0; i--){  

// 한번반복될때 마다 array의 배열의 인덱스를 출력(2, 1, 0 번 순으로 출력) 

    console.log(array[i]);  

}



for in 반복문

-  반복문을 더욱 쉽고 짧게 쓰는 법 

- 배열이나 객체를 다룰 때 주로 사용

- 조건식이 간단할때 사용한다. 


for in 문의 선언

for(var i in array ){

}

위 for in 문의 선언은 다음과 같은 기능을 수행한다. 

for(var i = 0; i <array.length; i++){

}


for in 문의 예)

var array = ['kim','lee','park'];  // 배열선언

for(var i in array){  // i 라는 변수가 array에 담긴 수 만큼 반복

    console.log(array[i]);  // 한번반복될때 마다 array의 배열의 인덱스를 출력

}

첫번째 반복문과 같은 결과 값을 얻는 것을 확인 할 수 있다.



중첩 반복문

-  조건문의 중첩 조건문과 같이 for문안에 for문을 여러번 사용하는 것을 말한다. 


중첩조건문의 예1)  피라미드 찍기

var print = '';  // print 변수 선언

// i라는 변수가 10보다 작을때 까지 실행

for (var i = 0; i<10; i++){ 

       // j라는 변수가 i 라는 변수보다 작을때까지 실행

       for(var j=0; j<i; j++){

   // j 변수가 i 변수보다 작을때 * 을 출력한다.

           print += '*';

       }

    // j변수의 값이 i변수의 값보다 크면 두번째 포문을 빠져나와서 다음줄로 이동

    print += '\n';

}




중첩조건문의 예2)  피라미드 정삼각형으로 찍기


// print 변수 선언

var print = '';

// i가 15보다 작을때 까지 실행

for (var i = 0; i<15; i++){

// j 의 초기값은 15, i의 값보다 작아 질때 까지 실행

       for(var j=15; j>i; j--){

            print += ' ';  // 조건식이 참일때 까지 공백을 직는다.

    // 첫번째 값에서는 14개의 공백을 두번째는 13개 공백... 

       }

// k의 초기값0에서 i의 값보다 작을때 까지 실행, 

// 2*i -1은 *이 홀수로 찍혀야 하기 때문이다. 

        for(var k=0; k < 2*i-1; k++){

            // 조건이 참인동은 *을 찍는다.

    print += '*'; 

        }

// 상위 두가지 중첩포문의 조건을 빠져나오게 되면 줄바꿈 한다.

        print += '\n';

} 




break 키워드

break키워드는 switch문이나 반복문을 빠져나갈때 사용한다.


ex) 조건을 만족할때 반복문 빠져나오기

for(var i = 0; i<10; i++){  // i는 10 보다 작을때까지 반복 증가

    console.log(i); // 콘솔창에 i 출력

    if(i === 3){   // i 가 3 이라면 

        break;  // 반복문을 빠져 나온다. 

    }

}




continue 키워드

반복문내에서 현재 반복을 멈추고 다음 반복을 진행 시킨다.


ex ) 짝수만 출력하기

for(var i = 0; i<10; i++){  // i는 10 보다 작을때까지 반복 증가

    if(i % 2 == 1){  // i를 2로 나눈 나머지값 이 1과 같을때(홀수를 의미함)

        continue; // 현재 반복을 멈추고 다음 반복으로 실행 

    }

    console.log(i);  // 화면에 출력

}

'javascript > Tutorial' 카테고리의 다른 글

함수를 매개변수로 받기  (0) 2013.12.02
함수(), function(){}  (0) 2013.11.26
조건문 if(), switch, 삼항연산자  (0) 2013.11.12
숫자와 문자열 형 변환, Number(), Strimg(), Boolean()  (0) 2013.11.04
undefined 자료형  (0) 2013.11.04