중첩 for문과 구구단 만들기 예제

들블리셔·2020년 12월 27일
1

중첩for문은 for문 안에 다른 for문을 사용할 수 있습니다.



기본형

<script>
      for(초깃값; 조건식; 증감식){  		//바깥쪽 for문
         for(초깃값; 조건식; 증감식){  		//안쪽 for문
            자바스크립트 코드
         }
      }
</script>



ex1)

<script>
      for(var i = 1; i <= 5; i++){
         for(var j = 1; j <= 5; j++){
         document.write("hellow everybody "+i+j+" <br>")
         }
      }
</script>



이렇게 코드를 짰을때 브라우저의 결과를 보면

hellow everybody 11
hellow everybody 12
hellow everybody 13
hellow everybody 14
hellow everybody 15
hellow everybody 21
hellow everybody 22
hellow everybody 23
hellow everybody 24
hellow everybody 25
hellow everybody 31
hellow everybody 32
hellow everybody 33
hellow everybody 34
hellow everybody 35
hellow everybody 41
hellow everybody 42
hellow everybody 43
hellow everybody 44
hellow everybody 45
hellow everybody 51
hellow everybody 52
hellow everybody 53
hellow everybody 54
hellow everybody 55




풀어보자면 먼저 첫번째 바깥 for문의 변수 i가 1번 실행되고

두번째 안쪽 for문의 변수 j가 5번 실행 됩니다.

안쪽 for문 j가 5번 실행이 끝났을때 for문이 종료되면서 다시 바깥 for문 i가 실행 됩니다.



ex2) 구구단 만들기

<script>
      for(var i = 2; i <= 9; i++){
         for(var j = 1; j <= 9; j++){
            document.write(i + "x" + j + "=" + i*j + "<br>");
         }
      }
</script>




브라우저 결과

2x1=2
2x2=4
2x3=6
2x4=8
2x5=10
2x6=12
2x7=14
2x8=16
2x9=18
3x1=3
3x2=6
3x3=9
3x4=12
...생략
9x9=81


바깥 for문 i가 실행되고 이때, i는 초깃값 2로 시작

안쪽 for문 j가 9까지 실행되고 완료되면 for문 종료 후

다시 바깥 for문 i가 실행 됩니다. i는 증감식으로 인해 3으로 시작







만약 여기서 5단만 제외하고 나타내려고 한다면, continue문을 사용하면 됩니다.

continue문은 for문이나 while문이 실행되면서 특정 조건문을 걸어

continue문을 만나게 되면 그 조건문에 해당하는 구문을 건너뛰고 다음

반복문을 마저 실행합니다.


ex3) continue문으로 5단만 제외 시키기

<script>
      for(var i = 2; i <= 9; i++){
         if(i === 5){
            continue;
         }
         for(var j = 1; j <= 9; j++){
            document.write(i + "x" + j + "=" + i*j + "<br>");
         }
      }
</script>




위와 같이 if( i == 5 )라는 조건문을 걸고 continue문을 넣었습니다.
변수 i가 5가 될 때 실행하지 말고, 건너뛰어 6부터 실행 하라 정도로 이해 하시면 되겠습니다.



브라우저 결과는

2x1=2
2x2=4
2x3=6
2x4=8
2x5=10
2x6=12
2x7=14
2x8=16
2x9=18
3x1=3
3x2=6
3x3=9
3x4=12
3x5=15
3x6=18
3x7=21
3x8=24
3x9=27
4x1=4
4x2=8
4x3=12
4x4=16
4x5=20
4x6=24
4x7=28
4x8=32
4x9=36     (5단은 제외됨이 보임)
6x1=6
6x2=12
6x3=18
6x4=24
6x5=30
6x6=36
6x7=42
6x8=48
6x9=54
7x1=7
7x2=14
7x3=21
7x4=28
7x5=35
7x6=42
7x7=49
7x8=56
7x9=63
8x1=8
8x2=16
8x3=24
8x4=32
8x5=40
8x6=48
8x7=56
8x8=64
8x9=72
9x1=9
9x2=18
9x3=27
9x4=36
9x5=45
9x6=54
9x7=63
9x8=72
9x9=81




또 이와 같이 비슷한 break문이 있는데 continue와 다르게 건너뛰고 실

행되는게 아닌 반복문을 아예 끝내버리는 성격입니다.

위의 코드에서 continue를 break로 바꿔주기만 하면 됩니다.

즉 결과는 4단까지만 나오게 됩니다.






2~9 까지의 구구단 만들기 완료

내일은 함수에 대해서 공부해볼 예정입니다~ 🤣

profile
나의 공부방

0개의 댓글