[JavaScript] 반복문 정리


1. for문

반복문은 특정 작업을 반복적으로 할 때 사용 몇 번 반복해라 ( 횟수가 정해질 때 많이 사용 )

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

  • 초기값 :시작값변수I,j,k 순
  • 조건식 : ~까지 관계연산자
  • 증감식 :수식 ,++,–

(1): 초기 값을 처리.

(2): 조건식을 비교하여 참이면 문장을 실행하고, 거짓이면 for 반복문을 종료.

(3): 조건식이 참이 되어 문장을 실행하면 표현식을 실행.

(4): 변수값을 증가.

종료(조건이 만족할 true)될 때까지 (2)와 (3)을 반복 false면 밖으로 빠져나감

{
  for(let i=0; i<5; i++){
    console.log(i);
  }
}

=> 결과값

[Running] node "/workspaces/codespaces-blank/index.js"
0
1
2

[Done] exited with code=0 in 0.054 seconds


2. 이중 for문

for (초기값(i); 조건식; 증감식) {
  for (초기값(j); 조건식; 증감식) {
    실행문;
  }
}
// 구구단 출력해보기

{
  let result="";
  for(let i=2; i<=9; i++){
    for(let j=1; j<=9; j++){
      result=i*j
      console.log(i,"X",j,"=",result)
    }
    console.log(`\n`)
  }
}
=> 결과값

[Done] exited with code=0 in 0.051 seconds

[Running] node "/workspaces/codespaces-blank/index.js"
2 X 1 = 2
2 X 2 = 4
2 X 3 = 6
2 X 4 = 8
2 X 5 = 10
2 X 6 = 12
2 X 7 = 14
2 X 8 = 16
2 X 9 = 18

3 X 1 = 3
3 X 2 = 6
3 X 3 = 9
3 X 4 = 12
3 X 5 = 15
3 X 6 = 18
3 X 7 = 21
3 X 8 = 24
3 X 9 = 27

4 X 1 = 4
4 X 2 = 8
4 X 3 = 12
4 X 4 = 16
4 X 5 = 20
4 X 6 = 24
4 X 7 = 28
4 X 8 = 32
4 X 9 = 36

5 X 1 = 5
5 X 2 = 10
5 X 3 = 15
5 X 4 = 20
5 X 5 = 25
5 X 6 = 30
5 X 7 = 35
5 X 8 = 40
5 X 9 = 45

6 X 1 = 6
6 X 2 = 12
6 X 3 = 18
6 X 4 = 24
6 X 5 = 30
6 X 6 = 36
6 X 7 = 42
6 X 8 = 48
6 X 9 = 54

7 X 1 = 7
7 X 2 = 14
7 X 3 = 21
7 X 4 = 28
7 X 5 = 35
7 X 6 = 42
7 X 7 = 49
7 X 8 = 56
7 X 9 = 63

8 X 1 = 8
8 X 2 = 16
8 X 3 = 24
8 X 4 = 32
8 X 5 = 40
8 X 6 = 48
8 X 7 = 56
8 X 8 = 64
8 X 9 = 72

9 X 1 = 9
9 X 2 = 18
9 X 3 = 27
9 X 4 = 36
9 X 5 = 45
9 X 6 = 54
9 X 7 = 63
9 X 8 = 72
9 X 9 = 81

[Done] exited with code=0 in 0.059 seconds

3. while문

시작 ~까지 (끝) , 주로 무한 반복 처리 할때 사용 : while(true)

while(조건식){
      실행문
      증감식
  }
2 배수만 출력해보기

{
  let i = 1;
  while(i<=50){
    if(i%2==0){
      console.log(i)
    }
    i++;
  }
}

=> 결과값

[Done] exited with code=0 in 0.059 seconds

[Running] node "/workspaces/codespaces-blank/index.js"
275

[Done] exited with code=0 in 0.049 seconds

[Running] node "/workspaces/codespaces-blank/index.js"
2
4
6
8
10
12
14
16
18
20
22
24
26
28
30
32
34
36
38
40
42
44
46
48
50

[Done] exited with code=0 in 0.049 seconds

4. do while문

조건에 만족하지 않아도 무조건 한번은 실행

do{ 실행문 }while(조건)
{
  let num = -5;
  do{
    console.log(num);
    num++;
  }while(num>0)
}

=> 결과값

[Done] exited with code=0 in 0.049 seconds

[Running] node "/workspaces/codespaces-blank/index.js"
-5

[Done] exited with code=0 in 0.046 seconds

5. break문

반복문인 while 와for 문에서 break문을 만나면 조건식과 상관없이 종료

for(let i=1; i<=10; i++){
      if(i==5){
        break;
      }
      console.log(i)
}

=> i값이 5 되면 종료

6. continue문

=> 홀수만 출력

{
  for(let i = 1; i<=10; i++){
    if(i%2==0){
      continue; // 다시 처음으로 되돌아감
    }
    console.log("i의 값 : " + i)
  }
}

=> 결과값

[Done] exited with code=0 in 0.176 seconds

[Running] node "/workspaces/codespaces-blank/index.js"
i의  : 1
i의  : 3
i의  : 5
i의  : 7
i의  : 9

[Done] exited with code=0 in 0.045 seconds

응용

{
  let id = "kdn";
  let pw = "1234";
  let count = 1;
  let userid = "";
  let userpw = "";

  while (true) {
    userid = prompt("ID를 입력하세요");
    userpw = prompt("Password를 입력하세요");
    if (userid == id && userpw == pw) {
      console.log("로그인 성공");
      break;
    } else {
      console.log("로그인 실패! 다시 입력해주세요");
    }
    if (count > 5) {
      console.log("로그인 횟수 5회 초과하여 은행에 문의해주세요");
      break;
    }
    count++;
  }
}