본문 바로가기

자바스크립트/기초

반복문

반복문이란?

단순한 반복을 보다 효율적이고 간결하게 할 수 있도록 하는것

while 반복문

while문은 조건문이 참일 때 실행되는 반복문. 조건은 문장안이 실행되기 전에 참, 거짓을 판단합니다.

while (조건 condition){ 반복해서 실행할 코드 statement }

조건
반복이 시작되기 전에 조건문은 참,거짓을 판단받게 됩니다. 만약 조건문이 참이라면, while문 안의 문장들이 실행됩니다. 거짓이라면, 문장은 그냥 while 반복문 후로 넘어갑니다.

문장
조건문이 참일 때만 while문 속의 문장들이 실행됩니다. 반복문 속에 여러개의 문장을 사용하고 싶다면 중괄호 { } 를 통해 문장들을 하나로 묶어야 합니다.

예제) 다음의 while문은 n이 3보다 작을 때까지 반복합니다.

let n = 0; let x = 0; while (n < 3) { n++; x += n; }

반복을 살펴보면, n을 x에 계속 더하게 됩니다. 그러므로 x와 n 변수는 다음의 값을 갖습니다.
* 첫번째 반복; n=1 과 x=1;
* 두번째 반복; n=2 과 x=3;
* 세번째 반복; n=3 과 x=6;

세번째 반복후, n<3이라는 조건은 더 이상 참이 아니므로 반복은 종료됩니다.


if 조건문과 형태가 비슷하지만 다른 점은 문장을 한 번만 실행하고 끝나는 것이 아니라,
Boolean 표현식이 참인 동안은 지속적으로 문장을 실행한다는 것입니다.
조건이 변화하지 않는다면 반복문 안을 무한히 반복 실행하므로,
조건을 거짓으로 만들 수 있는 내용이 문장 안에 포함돼야 합니다.

while 반복문 예시 그림

만약 이런 코드를 작성해 실행하면 조건이 항상 참이기때문에 경고창이 무한 반복해서 열릴 것입니다.

ex) while (true){
alert('반복문');
}

이처럼 반복문이 무한 반복되는 것을 무한 루프(Infinite loop)라고 합니다.
while 반복문을 종료하려면 조건을 변화시킬 수 있는 요소가 있어야 합니다.
숫자를 증가시켜 벗어나는 방법, 외부에서 조건을 변경시켜 빠져나가는 방법이 있습니다.

While 구문
- 반복할 조건 중, 초기화, 증감문은 따로, 조건식만 괄호 안에 넣어줍니다.

Let sum = 1; Let n = 2; While (n<=4) { sum= sum+n; n= n+1; } Console.log(sum); //10

for 반복문

while 반복문이 조건에 비중을 두는 반복문이라면,
for 반복문은 조건보다 횟수에 비중을 둘 때 사용하는 반복문입니다.
for 반복문에서는 가장 먼저 초기식이 한 번 실행된 후 조건을 비교합니다.
이때 조건식이 거짓이라면 반복문을 빠져나가고,
참이라면 문장을 실행하고 종결식을 실행한 후 다시 조건식을 비교합니다.

while 반복문 예시 그림

1. 초기식을 실행한다
2. 조건식을 비교한다. 조건이 거짓이면 반복문 종료
3. 문장 실행
4. 종결식 실행
5. 2단계로 간다

이해가 잘 안가서 정리해봤는데도 잘 모르겠다....
많이 써봐야 안다고... 친구가 말했다...

반복문의 중첩

// 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 03 04 05 06 07 08 09 10 11 12 13 14 15 16 ....99

반응형

'자바스크립트 > 기초' 카테고리의 다른 글

TIL_이것저것  (0) 2021.05.17
복합대입연산자  (0) 2021.05.15
문자열 (string)  (0) 2021.05.15
자바스크립트에서 x의 제곱(x squared)을 구하는 세가지 방법  (0) 2021.05.15
조건문 (Conditional Statement)  (0) 2021.05.15