본문으로 바로가기


반복문(for문, while문, do-while문) 및 break문, continue문


반복문은 어떤 작업(코드들)이 반복적으로 실행되도록 할 때 사용되며, 반복문의 종류로는 for문, while문, do-while문이 있습니다.


for문, while문은 서로 변환이 가능하기 때문에 반복문을 작성할 때 어느 쪽을 선택해도 좋지만, for문은 반복 횟수를 알고 있을 때 주로 사용하고 while문은 조건에 따라 반복할 때 주로 사용합니다.


while문과 do-while문의 차이점은 조건을 먼저 검사하느냐 나중에 검사하느냐일 뿐 동작 방식은 동일합니다.



for문

 반복횟수를 알고 있을 때 주로 사용한다.

 for문의 작성형식과 실행흐름은 아래 그림을 참조




var sum = 0;

for(var i = 0; i <= 10; i++) {
sum += i;
}
console.log(sum);



// for 문을 이용한 구구단 출력
for(var m = 2; m <= 9; m++) {
console.log('===' + m + ' ===');
for(var n = 1; n <= 9; n++) {
console.log(m + ' X ' + n + ' = ' + (m*n) );
}
}




while 문

for문이 정해진 횟수만큼 반복한다면, while 문은 조건식이 true 일 경우에 계속해서 반복합니다.

조건식에는 비교 또는 논리 연산식이 주로오는데, 조건식이 false가 되면 반복 행위를 멈추고 while문을 종료합니다.



while 문의 작성형식과 실행흐름



var sum = 0, // 합계를 저장할 변수
i = 1; // 카운터 변수
while(i <= 10) {
sum += i;
i++;
}
console.log('1 ~ ' + (i-1) + ' 합은 ' + sum);





for 문과 while 문의 차이점

form while 문은 같은 반복문이지만 다음의 표와 같이 사용 용도에 차이점이 있습니다.


 for 문을 사용하는 경우

while 문을 사용하는 경우 


1. 반복 횟수가 정해진 경우
2. 배열과 함께 주로 많이 사용

1. 무한 루프나 특정 조건에 만족할 때까지 반복해야하는 경우

2. 주로 파일을 읽고 쓰기에 많이 사용 




do-while 문

조건에 따라 반복을 계속할지를 결정할 때 사용하는 것은 while 문과 동일합니다.

다만, 무조건 중괄호 {} 블럭을 한번 실행하고, 조건을 검사하여 반복을 결정합니다.


do-while 문의 작성형식과 실행흐름



var i = 1;

do {
console.log(i)
i++
} while(i <= 10);




break문

for문, while문, do-while문을 종료합니다.(반복을 취소)

switch문을 종료합니다.

대개 if 문과 같이 사용되어 if 문의 조건식에 따라서 for문과 while문을 종료할 때 사용합니다.



while(true) {
var randomNumber = parseInt((Math.random() * 6) + 1);
console.log(randomNumber);
if(randomNumber == 6) {
break;
}
}
console.log('6이 출력되어 프로그램이 종료되었습니다.');




continue문

for문, while문, do-while문에서 사용하며 for문에서 continue를 만나게 되면 증감식으로 바로 이동하게 하며, while문, do-while문은 조건식으로 이동하도록 합니다.


for(var i = 0; i <= 10; i++) {
if(i % 2 != 0) { // 2로 나눈 나머지가 0 이 아닐 경우(, 홀수인 경우)
continue;
}
console.log(i); // 홀수는 출력되지 않는다.

}



Jaehee's WebClub


'JavaScript > Core & 개념ㆍ용어' 카테고리의 다른 글

변수 스코프 알아보기  (1) 2016.09.29
javascript for in 문  (1) 2016.09.29
JavaScript vs JAVA  (0) 2016.09.29
원시값은 기본타입으로 객체가 아니다  (0) 2016.09.29
자바스크립트 DOM 이란  (0) 2016.09.29