카테고리 없음

자바 스크립트 1주 14~15강 - for 문, while 문

8나지 2024. 4. 22. 19:54

기본적 포문, 배열과 함께 쓰는 포문

 

for, while - ~동안 이므로 ; 반복문 ; 핵심적

기초형태

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

}

ex)

for (let i = 0; i < 10; 1++) {                          i라는 변수는 0부터 시작할거고, 10에 도달하기 전까지 계속 할거야

  console.log(+i);                                           i라는 변수는 한 사이클이 돌고나면 1을 더할거야 

}

⬆️ 결과값

배열과 for문이 짝궁인 이유

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

for (let i = 0; i < arr.length; i++)  {          i가 0부터 arr.length 보다 작을 때까지

   console.log(i);                                      i는 한개씩 증가, console.log에 계속 찍어줄거야

   console.log(arr[i]);                               arr의 i값도 계속 찍어줄거야

}                             ⬆️의 인덱스에 접근한 것이므로 

; 접근하기 편함 => 배열과 for 문은 짝궁

 

ex) 0~10 의 수 중에서 2의 배수만 console.log로 출력하는 예시

if(let i = 0; i < 11; i++ {

 if (i >= 2) {                       0은 배수가 아니므로

  if (i % 2 === 0 ) {           2의 배수 ; 나눴을 때 0

       console.log(i + '는 2의 배수입니다');

 }

}

 

for in 문 - 객체 속성을 출력하는 문법

let person = {

  name: "john",

  age: 30,

  gender: "male",

};

for (let key in person) {      let key in 객체 ; 여기서 key는 name, age 등의 키; 

    console.log(key + ":" + person[key]);                   name:john

}                                                                                     age:30

                                                                                      gender:male

 

객체의 벨류에 접근하는 방법 : person[key]


while ; for 문 과 유사 ; ~하는 동안

( for문 : for (초기값; 조건; 증감) {} )

 

while은 증감을 가지고 메인로직은 돌리며 계속 체크

let i = 0;

 

while (조건) {                    while (i < 10) {                      처음에 0인 상태에 대입 ; 0

 메인로직                               console.log(i);                  0 찍힘

 증감                                     i++;                                    +1 하고 다시 올라감

}

while 문 활용하여 3초과 100미만의 숫자 중 5배수인 것만 출력

let i = 3;                                                     3초과이니 let부터 3으로 시작해도 될듯

while (i <100) {

   if(i%5 === 0 && i >= 5) {                     5의 배수 이면서 5보다 같거나 큰

console.log(i + "는 5의 배수입니다.")

}

i++;                                                            이거 해줘야 숫자를 돌림

}

 

do ~ while ; do 먼저 돌린 후 while

let i = 0;

do {

 console.log(i);                                         먼저 실행 후 최초의 한 번은 무조건 시작 되고,

 i++;

} while (i < 10);                                          그다음 조건이 옴

만약, do while 이 아니라면 i  최초값이 0이라 만족시킬 수 없어서 시작을 할 수 없으니 한 번도 안찍혔을듯

 

break  / continue ; for문과 결합해서 쓰임

break

0부터 10까지 콘솔로그

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

   if (i === 5) {                                               i가 5라면

break;                                                           break걸어라

}

  console.log(i);                                           결과값은 0 ~ 4 

}

 

 continue;                break 대신 continue => 0~4, 6~10 찍힘; 5가 찍히면 다음 for 문으로 넘어갔기 때문

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

if (i === 5) {

continue; 

}

console.log(i);

}