반복문

Junny_·2022년 6월 30일
0

for문

for문의 모든 식들이 for문 안에 존재

for (초기식, 조건식, 증감식) {
  alert()
}

for문의 경우
초기식은 반복문에 진입할떄 단 한번만 실행이되고
조건식은 반복마다 해당조건을 확인하고 false이면 반복을 멈추고
alert은 조건식이 true일경우 계속해서 실행
증감식은 반복의 body가 실행된 이후에 실행이된다.

/* for (let i = 0; i < 3; i++) {
alert(i)
}
*/

// 초기식을 실행함
let i = 0
// 조건식이 truthy이면 → body를 실행한 후, 증감식을 실행함
if (i < 3) { alert(i); i++ }
// 조건식이 truthy이면 → body를 실행한 후, 증감식을 실행함
if (i < 3) { alert(i); i++ }
// 조건식이 truthy이면 → body를 실행한 후, 증감식을 실행함
if (i < 3) { alert(i); i++ }
// i == 3이므로 반복문 종료

for문 안에는 if문을 넣어 활용하거나, 중첩for문을 사용할 수 있다

function mulTablePrinter() {
	for(let n = 2; n <= 9; n = n + 1) {
		for(let m = 1; m <= 9; m = m + 1) {
			console.log(n * m)
		}
	}
}

mulTablePrinter()
//중첩 for문 이용한 구구단 예재
function getSumOfFactors(num) {
  let count = 0;
  for (let i = 0; i <= num; i++) {
    if(num % i === 0){
      count = count + i
    }
  }
  return count;
}
// for문 안에 if문을 사용하여 수를 입력받아
// 입력받은 수의 약수합을 리턴하는 예재

while문

while문의 경우 모든 식들이 한곳에 존재하지 않음

let i = 0; // i = 0 이라는 변수를 할당
while (i < 3) { // 0, 1, 2가 출력됩니다.
  alert( i ); // 알람창으로 i 를 띄워줌
  i++; // i가 3미만일때까지 실행
}

for문의 경우
초기식은 while문 위에서 선언되고
조건식은 while문의 조건으로 넣어줘야하고
증감식은 while문 안의 body로 실행

do..while문

let i = 0;
do {
  alert( i );
  i++;
} while (i < 3);

do..while문의 경우 조건이 truthy 인지 아닌지에 상관없이, 본문을 최소한 한번이라도 실행하고 싶을 때만 사용해야 합니다. 대다수의 상황에선 do..while보다 while(…) {…}이 적합합니다.

반복문 빠져나오기

대개는 반복문의 조건이 falsy가 되면 반복문이 종료
그런데 특별한 지시자인 break를 사용하면 언제든 원하는 때에 반복문을 빠져나올 수 있다
아래 예시의 반복문은 사용자에게 일련의 숫자를 입력하도록 안내하고, 사용자가 아무런 값도 입력하지 않으면 반복문을 종료한다

let sum = 0;
while (true) {
  let value = +prompt("숫자를 입력하세요.", '');
  if (!value) break; // (*)
  sum += value;
}
alert( '합계: ' + sum );

(*)로 표시한 줄에 있는 break는 사용자가 아무것도 입력하지 않거나 Cancel버튼을 눌렀을 때 활성화된다 이때 반복문이 즉시 중단되고 제어 흐름이 반복문 아래 첫 번째 줄로 이동한다
여기선 alert가 그 첫 번째 줄
반복문의 시작 지점이나 끝 지점에서 조건을 확인하는 것이 아니라 본문 가운데 혹은 본문 여러 곳에서 조건을 확인해야 하는 경우,
'무한 반복문 + break’ 조합을 사용하면 좋음

다음 반복으로 넘어가기

for (let i = 0; i < 10; i++) {
  // 조건이 참이라면 남아있는 본문은 실행되지 않습니다.
  if (i % 2 == 0) continue;
  alert(i); // 1, 3, 5, 7, 9가 차례대로 출력됨
}

i는 10보다 작으며 계속 증가된다
0, 1, 2, 3, 4, 5, 6, 7, 8, 9까지 실행되며
if문 조건으로 나머지값을 구해 0으로 떨어지는 숫자가 있을경우 제외

profile
Front-end

0개의 댓글