JS_반복문

E_young_J·2024년 12월 8일

새싹일기🌱

목록 보기
26/28

1. for문

  • 구문
    for([변수선언 & 초기값 설정]; [조건식(범위 지정)]; [증감식]){
    반복시킬 코드 내용 입력
    }
js

for (let i=0; i <10; i++){
	//i가 0~9 총 10번 반복
    console.log('안녕', i);
}

Q) 5~1 출력

for (let i =5; i>0; i--){
console.log(i);
}

Q) 1부터 n까지의 합 구하기

let n = 10; // 어떤 숫자까지 합을 구할지에 대한 n
let sum = 0; //합을 저장할 변수
for (let i=1; i<=n; i++){
	sum += i;
    // sum = sum + i;
    console.log(i,sum)
};
console.log(sum);

2. for ~ if 중첩

*간단 실습

Q) 1~20 중에서 짝수 일 때의 합을 구하기
hint 1) 1~20 숫자를 반복
hint 2) 현재 반복 숫자가 짞수라면 (변수)에 더하기
hint 3) for문 안에 if문 조합 해보기

let sum2 = 0 //짝수의 합 저장할 변수
for(let i=0; i<=20; i++){
	console.log(i);
    if(i %2 ===0){
    sum2 = sum2 + i ;
    console.log(i, sum2)
    }
};   

3. while 문

: 조건이 참(true)인 동안 반복을 실행합니다

기본 형태

js

let count = 1;
while (count <= 5) {
    console.log(count);
    count++;
}

출력 : 1 2 3 4 5

무한 루프

: 조건을 항상 true로 설정하면 무한히 반복
하지만 반드시 종료 조건(break)을 추가해야 함

js

while (true) {
    let input = prompt("종료하려면 'exit'을 입력하세요:");
    if (input === "exit") {
        console.log("프로그램을 종료합니다.");
        break; // 루프 종료
    }
 

break를 사용한 루프 종료

: break를 통해 루프를 강제로 종료할 수 있음

js

let num = 1;
while (num <= 10) {
    console.log(num);
    if (num === 7) {
        break; // 7에서 루프 종료
    }
    num++;
}

출력 : 1 2 3 4 5 6 7 

continue 특정 반복 건너뛰기

: continue를 사용하면 특정 조건을 만족할 때 현재 반복을 건너뛰고 다음 반복으로 넘어감

js 

let num = 1;
while (num <= 10) {
    if (num === 5) {
        num++;
        continue; // 5는 건너뜀
    }
    console.log(num);
    num++;
}

출력 : 1 2 3 4 6 7 8 9 10

중첩된 while문

: while 문을 중첩해 사용할 수도 있음

js

let outer = 1;
while (outer <= 3) {
    let inner = 1;
    console.log(`Outer: ${outer}`);
    while (inner <= 3) {
        console.log("  Hello");
        inner++;
    }
    outer++;
}

출력 outer: 1 Hello Hello Hello
	outer: 2 Hello Hello Hello
    outer: 3 Hello Hello Hello
    
  • 조건부 루프 종료
    반복 중 동적으로 조건을 변경하여 루프를 종료할 수도 있음
js

// 1부터 10까지 출력, 누적합이 20 이상이 되면 종료
let sum = 0;
let i = 1;
while (i <= 10) {
    sum += i;
    console.log(`i: ${i}, sum: ${sum}`);
    if (sum >= 20) {
        console.log("누적합이 20 이상입니다. 루프를 종료합니다.");
        break;
    }
    i++;
}

출력 i: 1 , sum: 1
	i: 2 , sum: 3
    i: 3 , sum: 6
    i: 4 , sum: 10
    i: 5 , sum: 15
    i: 6 , sum: 21
    누적합이 20 이상입니다. 루프를 종료합니다.

4. do while 문

  • while 문과 비슷하지만, 조건을 반복문 실행 후 확인함

  • 조건이 참인지 여부에 상관없이 코드 블록을 최소 한번 실행한 후 조건을
    검사

  • 즉, 항상 코드 블록을 한번 실행한 다음, 조건이 참인 동안 반복을 계속

  • 구문
    do {
    // 실행할 코드 내용
    }while (조건);

js

ex 1)
let g = 1;
do {
	console.log('g////', g)
    g++;
}while( g <= 5);

출력 : 1 2 3 4 5

ex 2)
let number
do{
    number = parseInt(prompt('숫자를 입력하세요 (10보다 큰숫자):'), 10);
}while(number <= 10);
console.log('입력한 숫자: ', number);

// 10보다 작은 수를 입력하면 조건을 계속해서 만족하기 때문에 prompt가 반복 실행됨

5. break & continue

: 반복문에서 사용되는 제어문

  • break : 반복문을 완전히 중단하고 빠져나옴
  • continue : 현재 반복을 중지하고 다음 반복으로 넘어감 (이번 회차 건너뛰기)
ex) break
for (let i =1; i<=10; i++){
	if ( i === 5 ){
    	break;
    }
    console.log(`i >>>>> ${i}`);
};

출력: 1 2 3 4 5

ex) continue
for( let i =1; i<=5; i++){
	if(i ==3){
    	continue;
    }
    console.log(`i >>>> ${i}`);
};

출력 : 1 2 4 5 

0개의 댓글