[JAY⌨️JS] 자바스크립트 반복문 for, while (부록: 별찍기 과제..)

2023. 3. 2. 09:49javascript

반응형

 

반복문 for, while

1️⃣ for문
  • 가장 보편적인 반목문!
  • for() 조건이 true 반복문 실행, false면 실행 안 함.
  • for( 초기화; 조건; 종료식 ) { 반복 실행 내용 } 구조
  • 종료식에서 숫자 + ++ 는 한 개씩 증가시킨다는 뜻.
  • for(;;) for문 무한 반복
//기본 구조 
for( let i = 0; i < 10; i++) {
    console.log(`😀Hello for ${i}`)
}
// = '😀Hello for 0' ~ '😀Hello for 9'


//구구단 예제 // 9단
for (let i = 1; i <= 9; i++) {
    console.log(`9️⃣ 9 * ${i} = ${9 * i}`);
}


// 중첩 반복문
for ( let i = 0; i < 10; i++) {

    for(let j = 0; j < 10; j++) {
        console.log(i,j)
    }
}
// = 0 0, 0 1, 0 2, 0 3, (...) 1 0, 1 1, 1 2 (...) 9 9



//중첩 반복문 구구단 2단 예제 
for( let i = 2; i < 10; i++) {
    console.log(`🧮 ${i} 단`)
    for( let x = 2; x < 10; x++ ) {
        console.log(`${i} * ${x} = ${i * x}`)
    }
}
// = 🧮 2 단, 2 * 2 = 4, 2 * 3 = 6 (...) 9 * 9 = 81

// 구구단 전체 예제 홀수만 노출 연산자 사용
for( let i = 2; i < 10; i++ ) {
    if(i % 2 !== 0) { 
        for( let j = 2; j < 10; j++ ) {
            if(j % 2 !== 0) {
                console.log(`${i} * ${j} = ${i * j}`)
            }
        }
    }
}

// 구구단 예제 홀수만 노출 continue;사용
for( let i = 2; i < 10; i++ ) {
    if(i % 2 === 0) continue; {
        for( let j = 2; j < 10; j++ ) {
            if(j % 2 === 0) continue; {
                console.log(`${i} * ${j} = ${i * j}`)
            }
        }
    }
}
// = 3 * 3 = 9 (...) 9 * 9 = 81

 

 

2️⃣ while문
  • 무한 반복할 때 break 와 병행해서 쓰는 경우 많음!
  • while(true) 조건이 true 반복문 실행, false면 실행 안 함.
//while 구조
while (조건) {
    반복해서 실행할 구문
		종료식
}

let w = 0;
while (w < 10) {
    console.log('✏️Write While' + w )
    w++
}
// = ✏️Write While0 ~ ✏️Write While10

 

 

3️⃣ Break || continue
  • break; 는반복문을 정지.
  • continue; 는해당 반복을 Passing 하고 다음 반복으로 이동.
  • for() while() 모두 사용.
//break 구조
for (let i = 0; i <= 10; i++) {
    if (i === 5) {
        break;
    }
    console.log(i);
}
// = 0,1,2,3,4



//continue 구조
for (let i = 0; i <= 10; i++) {
    if (i % 2 === 0) { // 2로 나눈 나머지가 0이면? = 짝수만 Passing 한다.
        continue;
    }
    console.log(i);
} 
// = 0,2,4,6,8,10

 

 

4️⃣ Misson! 별 찍기 과제
let star = '⭐'

//1씩 증가
for( let i = 0; i < 5; i++) {
    console.log(star.repeat(i + 1))
}
// ⭐
// ⭐⭐
// ⭐⭐⭐
// ⭐⭐⭐⭐
// ⭐⭐⭐⭐⭐


// 1씩 감소
for(let i = 0; i < 5; i++) {
    console.log( star.repeat(5-i) )
}
// ⭐⭐⭐⭐⭐
// ⭐⭐⭐⭐
// ⭐⭐⭐
// ⭐⭐
// ⭐


// 홀수 별만(5,3,1) 감소
for( let i = 5; i >= 1; i--) {
    if( i % 2 === 0 )continue; {
    console.log(star.repeat(i))
    }
}
// ⭐⭐⭐⭐⭐
// ⭐⭐⭐
// ⭐


// 1,3,5,7.9 트리 만들기
let blank = '  '
for(let i = 0; i < 10; i++) {
    if(i % 2 !== 0) {
        console.log((blank.repeat((10-i)/2)),(star.repeat(i)))
    }
}

//          ⭐
//        ⭐⭐⭐
//      ⭐⭐⭐⭐⭐
//    ⭐⭐⭐⭐⭐⭐⭐
//  ⭐⭐⭐⭐⭐⭐⭐⭐⭐
// 한참 헤매고 트리 완성...ㅠ_ㅠ 🎄!!

 

 

 

👩‍💻 요약!
  • 반복문은 조건이 true면 반복문 실행, false면 실행 안 함.
  • for() 은 가장 보편적인 반목문! for( 초기화; 조건; 종료식 ) { 반복 실행 내용 } 구조,
  • for() 안에 중첩이 가능하다. = 중첩 반복문 
  • while() 은 보통 무한 반복할 때 사용. break; 와 병행해서 멈춤.
  • break; 는반복문을 정지. continue; 는해당 반복을 Passing 하고 다음 반복으로 이동.

 

 

 

반응형