[목차]
01. for 문
💡
주어진 조건식의 평가 결과가 거짓이 될때까지 코드 블럭을 반복 실행합니다.
[코드예제] for문.js
for(let i = 0; i < 5; i++) { console.log(i); // 0 1 2 3 4 } // 분리 let j = 0; for(; j < 5;) { console.log(j); // 0 1 2 3 4 j += 1; } // if문을 합친것과 같음 let k = 0; if(k < 5) { console.log(k); // 0 k += 1; // k = 1 } if(k < 5) { console.log(k); // 1 k += 1; // k = 2 } if(k < 5) { console.log(k); // 2 k += 1; // k = 3 } if(k < 5) { console.log(k); // 3 k += 1; // k = 4 } if(k < 5) { console.log(k); // 4 k += 1; // k = 5 } if(k < 5) { // k = 5여서 실행 안됨 console.log(k); k += 1; }
02. while / do while
💡
주어진 조건식의 평가 결과가 거짓이 될때까지 코드 블럭을 반복 실행합니다.
[코드예제] while문.js
// while let cnt = 0; while (cnt <= 5) { console.log(cnt); cnt += 1; } // do while let result = 0; do { console.log(result); // 0 1 2 3 4 5 result += 1; } while (result <= 5); console.log(result); // do while 탈출 후 6 출력
03. break
💡
레이블 문, 반복문 또는 switch 문의 코드 블록을 탈출할 수 있습니다.
이 외에 사용하면 문법오류!
[코드예제] break.js (for문 let vs var)
// 가장 가까운 for문의 블록을 빠져나온다. for(let i = 0; i < 5; i++) { console.log(i); // 0 1 if(i==1) break; // 1일때 break를 만나서 for문을 빠져나감 } console.log(i); // 오류! -> let은 블록 안에서 재선언 되면 지역변수로 휘발. // var를 사용하지 않는 이유 for(var j = 0; j < 5; j++) { console.log(j); // 0 1 2 if(j==2) break; // 2일때 for문 탈출 } console.log(j); // 2 -> for문 안에서 재선언 되도 블록과 관계없이 문이 실행
04. continue
💡
반복문의 코드 블록 실행을 현 지점에서 중단하고 반복문의 증감식으로 이동합니다. (skip)
[코드예제] continue.js
for (let i = 0; i < 5; i++) { if(i==1) continue; // 1일때 continue를 만난다. console.log(i); // 0 2 3 4 (1은 스킵된다.) }
05. 레이블
💡
➡️ 식별자가 붙은 문장입니다. (=블록에 이름을 정한다.)
➡️ { }문, 반복문, switch문에서 사용.
➡️ 프로그램의 실행순서를 제어하는데 사용.
➡️ 하지만 프로그램의 흐름이 복잡해져서 가독성이 저하된다.
[코드예제] 레이블.js
outter : { // 블록에 outter라는 이름을 붙임 let i = 10; break outter; // outter라는 블록을 빠져나감 console.log(i); // 실행 됨 } outterFor : for(let i = 2; i <= 9; i++) { console.log(i); // 2 for(let j = 1; j <= 9; j++) { console.log(j); // 1 if (i*j==4) break outterFor; // i*j가 4이면 outterFor블록을 탈출 // if(i*j == 4) break; i*j가 4이면 해당위치에서 가까운 반복문을 탈출 console.log(`${i}X${j} = ${i*j}`); // 2X1 = 2 까지만 출력 } }
06. 반복문 실습
[코드예제] 반복문 실습(구구단)
let result = ''; // 담아서 출력할 변수 let digit1 = 9; // 초기값 while(digit1 > 0) { // for문 조건식 result += `2 X ${digit1} = ${2*digit1}\n` // for문 반복할 코드 digit1 -= 1; // for문 증감식 } console.log(result); // 2단 역순 // 2 X 9 = 18 // 2 X 8 = 16 // ... let result2 = ''; // 담아서 출력할 변수 let times = 2; // 초기값 2단부터 let digit = 1; // 초기값 1 while(times < 10) { // 2단 ~ 9단 if(digit < 10) { // 1 ~ 9 result2 += `${times} x ${digit} = ${times * digit}\n`; digit += 1; // 1 2 3 4 5 .. 9 } else{ // 9가 넘어가면 digit = 1; // 다시 1로 초기화 times += 1; // 다음 단 } if(times > 2) { // 2가 넘어가면 break; // while문 탈출 } } console.log(result2); /* 한자리 일 경우에 01 02 03 04 .. formatResult = ''; if((times * digit) < 10) { formatResult = `0${times * digit}`; }else{ formatResult = `${times * digit}`; } */ // 구구단 전체 출력 (콘솔 8번만 찍히게) for (let i = 2; i < 10; i++){ let timesPrint = `----${i}단----\n`; for(let j = 1; j < 10; j++) { let result = (i*j) < 10 ? `0${i*j}` : `${i*j}`; timesPrint += `${i} x ${j} = ${result}\n`; } console.log(timesPrint); }
[코드예제] 반복문 실습(짝수 구하기)
let num = ''; let result4 = 0; // 초기값 let isFrist = true; // 초기설정 for (let i = 1; i <= 100; i++) { if (i%2 == 0) { // 나머지가 0일 경우 if (isFrist) { // 한번만 실행시킬 코드 num += i; // 처음값 2 isFrist = false; } else { num += `, ${i}` // 이후 (, 값) } result4 += i; // 짝수들의 합 } } console.log(`짝수 : ${num}\n짝수들의 합 : ${result4}`);
[코드예제] 반복문 실습(별)
// 중첩 반복문 사용 let result5 = ''; for(let i = 0; i < 5; i++) { for(let j = 0; j <= i; j++) { result5 += '*'; } result5 += '\n'; } console.log(result5); // 반복문 1개 let star = ''; let result5 = ''; for(let i = 0; i < 5; i++) { star += '*'; result5 += `${star}\n`; } console.log(result5);
tag : #javascript #반복문 #for #while #break #continue #레이블
Uploaded by N2T