반복문은 크게 for문while 문으로 나누어 진다.

 

for 문

 

<for 문의 구성요소>

for (초기값; 조건식; 증감식) {
	// 실행할 코드
}

초기값: 증감식 반복 횟수를 카운트하는 역할을 하는 변수

조건식: 코드블록 내부의 코드를 실행 여부를 결정

증감식: 코드블록 내부의 코드를 실행한 후 초기값으로 선언된 변수를 증가 또는 감소시키기 위한 표현식

// 코드가 실행될 때마다 i가 1씩 증가
for (let i = 1; i <= 3; i++) {
	console.log(i); // 1 2 3
}

구구단 5단을 출력하였다.

let으로 변수 5를 선언한 후

변수가 2이상이고 9이하이면 for 문으로 이어진다.

for문은 1부터 9까지 1씩 증가한 값을 출력하게 된다.

let num = 5;
if (num >= 2 && num <= 9) {
  for (let i = 1i <= 9i++) {
    console.log(num * i);
  }
else {
  console.log('2와 9사이의 수를 입력하세요.');
}

이러한 결과를 얻을 수 있다.

실행 결과

 

문자열도 동일하게 적용할 수 있다.

문자열 for문

이때 length에 -1 을 하는 이유는 ?

문자열 hello의 문자열의 개수는 5개이지만

index 번호는 0부터 시작이여서 4번에서 끝나게 된다.

만약 str.length-1가 아닌 str.length로 출력을 하게 된다면, undefined 라는 출력이 하나 더 생기게 된다.\

 

이러한 결과를 얻게 된다.

 

 

반복문은 또한 중첩이 가능하다 그러기에 구구단도 출력이 가능하다.

반복문의 중첩 예제


while 문

 

초기화, 조건식, 증감식이 모두 필요한 for문과 달리

while문은 조건식만 입력한 후

조건식의 평가결과가 true인 경우 코드블록 내부의 코드를 반복하여 실행

 

이러한 for문

for (let num = 0; num < 3; num++) {
	console.log(num); // 0 1 2
}

이러한 while문으로 바뀐다.

let num = 0;

while (num < 3) {
	console.log(num); // 0 1 2
	num++
}

while문을 사용할 때는 무한루프를 주의해야 한다.

무한루프란 반복문이 종료되는 조건식이 항상 참으로 평가되어 무한히 반복되는 현상이다.

따라서 while문을 작성할 때는 조건식이 false로 평가되는 순간이 있는지 반드시 주의!

 

do...while 문

while 뒤에 오는 조건식이 true로 평가되는 동안 do 뒤에 오는 코드블록 내부의 코드를 반복하여 실행

단, 이 경우 do의 코드블록 내부의 코드가 최소 한 번은 실행

(뒤에 오는 조건문이 항상 fasle이라도)

 

for문, while문

for문과 while문의 용도는 명확하게 구분되지 않는다.

while문으로 할 수 있는 것을 for문으로 구현이 가능하고,

for문으로 할 수 있는 것을 while문으로 구현이 가능하기 때문이다.

그러나 주로 사용하는 상황은 있다.

 

for문을 사용하는 경우

반복 횟수가 비교적 명확할 때

배열, 문자열 내부를 순회할 때

반복문의 중첩이 필요할 때


 

while문을 사용하는 경우

반복 횟수가 명확하지 않을 때

+ Recent posts