카테고리 없음

JS for,while문

GABOJOK 2023. 5. 25. 13:51

1. for문 : 반복해서 쓸때 사용.

 

for( 초기값; 조건식; 증감식) {

 

}

 

실제 코드로 살펴보자.

 

for( let i = 0;  i < 10;  i ++ ){

     console.log( i ); 

 

이걸 풀어서 보면,

i 라는 변수는 0부터 시작할 꺼야.

이 반복문은 i가 10보다 작은 그 순간 까지 반복할꺼야.

이 반복문을 한번 돌고 나면, i라는 변수값에 1을 더하고 또 이 반복문을 할꺼야.

 

전에 배열과 for문은 짝궁이라 했는데 

예를 들어 살펴보면, 

 

const arr = ["one", "two", "three", "four", "five"];

for ( let i = 0;  i < arr.length;  i++ ) {

     console.log( i );

     console.log( arr[ i ]);   <-----arr라는 변수에서 i번째 내용을 가져온다는 말.

}

 

결과값은 아래와 같다. 

0
one
1
two
2
three
3
four
4
five

 

 

문제!!

0부터 10까지의 수 중에서 3의 배수만 console.log로 출력해 보자!!!

 

자 배수. 어떻게 해야할까?

% 나머지 연산자를 이용하면 쉽게 접근할 수 있다. 

 

for(let i = 0 ; i < 11; i++) {

    if(i >= 1){

        if (i%3 === 0 ){

            console.log(i);

        }

    }

}

 

 

결과값을 확인해 보면, 

3
6
9

 

근데 이렇게 if문을 많이쓰는것은 깔끔하지 않아서 그렇게 추천하지 않는다고 하니 참고!!

 

 

for ~ in문

 

let person = {

    name : "Jone",

    age : 35,

    gender: "male",

}

 

for (let key in person) {

    console.log(person[key]);  <---- 객체의 value에 접근할 수 있도록 함.

}

 

결과값은

Jone
35
male

-----------------------------------------

let person = {

    name : "Jone",

    age : 35,

    gender: "male",

}

 

for (let key in person) {

    console.log(key );

}

 

결과값은 

name
age
gender

 

 

 

2. while 문 

어떠한 변수가 있을때, 그 변수에 무언가를 반복해서 실행하고 싶을때

아래와 같이 하면 된다. 

 

while(변수값이 언제가 될때 까지 반복한다) {

     console.log( 변수 );

     이 변수는 그 "언제"가 될때까지 계속해서 증감한다.

}

 

실제 코드를 살펴보자면,

let i = 0;

 

while ( i < 10) {

     console.log( i );

     i++;

}

 

여기서 문제!!

while문을 활용해서, 3을 초과하고, 100 미만의 숫자 중 5의 배수인 것만 출력하는 코드를 짜보자.

 

let a = 4;

 

while(a < 100) {

    if(a%5 === 0 ){

        console.log(a)    

    }

    a++;

}

 

그러면 5의 배수이면서 3초과, 100미만인 값이 나온다. 

 

3. do ~ while문 : 일단 한번 코드를 실행한 다음에 while문을 돌리는 거.

 

let i = 0;

 

do {

     console.log( i );

     i++;

} while ( i < 10 );

 

그런데 만약 while문에서 i>10 의 조건을 가지고 있다면, 

do ~ while문이 아니면 아예 출력이 되지 않을텐데, 

이게 do ~ while 문이기 때문에 한번은 출력이 되는 특성을 가지고 있다. 

 

4.  break문 : 멈춰!! 이 반복문 멈추고 이제 밖으로 나가!!

 

let i = 0

for(let i = 0; i < 10;  i++){

     if ( i === 5){

          break;

     }

     console.log(i)

}

 

그럼 출력은 

0부터 4까지만 출력된다. 

 

5. continue문 :

이  continue를 만났을 때 그 부분만 출력하지 않고 그 다음 순서로 넘어간다. 

 

let i = 0

for(let i = 0; i < 10;  i++){

     if ( i === 5){

          continue;

     }

     console.log(i)

}

 

그럼 출력은 

0 부터 9 까지 출력되는데, 단 5는 출력되지 않는다.