티스토리 뷰

생활코딩/자바스크립트

반복문

리피아 2021. 8. 17. 06:16
728x90

반복문

  • 컴퓨터에게 반복적인 작업을 지시하는 방법

 

반복문의 문법

 

while

 

형식

 

 

while (조건){

      반복해서 실행할 코드

}

 

 

while(true){

      document.write('coding everybody

');

}

 

  • 위 예제는 무한반복을 발생시킴
  • 웹브라우저는 무한반복을 허용하지 않기 때문에 어느 정도 시간이 흐르면 스크립트를 종료할 것인지 물어봄
  • document.write는 자바스크립트를 이용해서 웹페이지에 텍스트 출력(웹브라우저에서만 동작)
  • node.js 콘솔과 같은 환경에서 실습을 한다면 console.log와 같은 메소드 사용

 

while(false){

      document.write('coding everybody

');

}

 

  • while문에서 while문 뒤에 따라오는 괄호 안의 조건이 참(true)이면 중괄호 안의 코드 구간을 반복적으로 실행/조건이 false면 반복문 실행되지 않음
  • true와 false는 종료조건 => 이 값을 변경하는 것을 통해 반복문을 종료시킬 수 있음
  • 반복문에서 종료조건을 잘못 지정하면 무한반복이 되거나, 반복문이 실행되지 않음

 

var i = 0;

// 종료조건으로 i의 값이 10보다 작다면 true, 같거나 크다면 false가 된다.

while(i < 10){

     // 반복이 실행될 때마다 coding everybody <br />이 출력된다. <br /> 줄바꿈을 의미하는 HTML 태그                       document.write('coding everybody <br />');

     // i의 값이 1씩 증가한다.

     i++

}

 

for

 

형식

 

for(초기화; 반복조건; 반복이 될 때마다 실행되는 코드){

     반복해서 실행될 코드

}

 

 

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

     document.write('coding everybody'+i+'<br />');

}

 

  1. 초기화 : var i = 0; (변수 i의 값을 0으로 설정)
  2. 반복조건 실행 : i < 0 (처음 실행 시 i 값은 0)
  3. 중괄호 안의 내용(반복해서 실행될 코드) 실행 : 'coding everybody0<br/>' 텍스트 출력
  4. 반복이 될 때마다 실행되는 코드 실행 : i++ (현재 i의 값에 1을 더함 -> i값이 1이 됨)
  5. (반복조건 실행, 반복해서 실행될 코드 실행, 반복이 될 대마다 실행되는 코드 실행) 반복
  6. i < 10 을 충족시키지 못할 때 반복문 종료

 

반복문이 없다면

document.write('coding everybody');

document.write('coding everybody');

document.write('coding everybody');

document.write('coding everybody');

document.write('coding everybody');

document.write('coding everybody');

document.write('coding everybody');

document.write('coding everybody');

document.write('coding everybody');

document.write('coding everybody');

document.write('coding everybody');             //'coding everybody' 10번 출력

 

 

 

var i = 0;

while(i < 10){

     document.write('coding everybody <br />');

     i++;

}                                                          //'coding everybody' 10번 출력

 

 

 

document.write('coding everybody 1<br />')

document.write('coding everybody 2<br />')

//중략

document.write('coding everybody 9<br />')

document.write('coding everybody 10<br />')          //coding everybody 뒤에 숫자를 1부터 10까지 붙임

 

 

 

var i = 0;

while(i < 10){

     document.write('coding everybody '+i+'<br />');

     i++;

}                                                                     //coding everybody 뒤에 숫자를 1부터 10까지 붙임

 

 

 

var i = 0;

while(i < 10){

     document.write('coding everybody '+(i*2)+'<br />');

     i++;

}                                                                     //coding everybody 뒤에 숫자를 2의 배수로 함

 

 

break

  • 반복작업을 중간에 중단

 

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

     if(i === 5) {

        break;

     }

     document.write('coding everybody'+i+'<br />');

}

 

  • 결과↓

 

coding everybody 0

coding everybody 1

coding everybody 2

coding everybody 3

coding everybody 4

 

 

continue

  • 실행을 즉시 중단 하면서 반복은 지속되게 함

 

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

     if(i === 5) {

         continue;

     }

     document.write('coding everybody'+i+'<br />');

}

 

 

  • 결과↓

 

coding everybody 0

coding everybody 1

coding everybody 2

coding everybody 3

coding everybody 4

coding everybody 6

coding everybody 7

coding everybody 8

coding everybody 9

 

 

  • i의 값이 5가 되었을 때 실행이 중단
  • 반복문은 중단되지 않았기 때문에 나머지 결과가 출력

 

반복문의 중첩

// 0부터 9까지 변수 i에 순차적으로 값을 할당

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

     // 0부터 9까지의 변수를 j의 값에 순차적으로 할당

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

          // i와 j의 값을 더한 후에 출력

          // String은 숫자인 i와 j의 데이터 타입을 문자로 형태를 변환하는 명령이다.

          // String()을 제거하고 실행해보면 의미가 좀 더 분명하게 드러날 것이다.

          document.write(String(i)+String(j)+'<br />');

     }

}

 

  • 00, 01, 02....99 까지를 화면에 출력

'생활코딩 > 자바스크립트' 카테고리의 다른 글

배열  (0) 2021.08.17
함수  (0) 2021.08.17
조건문  (0) 2021.08.17
비교  (0) 2021.08.17
줄바꿈과 여백  (0) 2021.08.17
댓글