반복문

Verba volant, scripta manent·2021년 1월 12일
0

JavaScript

목록 보기
4/20
post-thumbnail

반복문

같거나 비슷한 코드를 여러 번 실행시켜야 할 경우에 쓰는 구문

ex)
let sum = 1;
sum = sum + 2;
sum = sum + 3;
sum = sum + 4;

console.log(sum);

이라고 하면 반복할 내용을 먼저 코드로 작성한다.
이 경우 작성하면 아래와 같이 된다.

let sum = 1;
sum = sum + 2;
sum = sum + 3;
sum = sum + 4;

이 부분은 여러 번 실행시키는 부분
"sum과 숫자(n)의 합"을 "sum에 대입"하자
조건은
1. 숫자(n)는 2부터 시작한다.
2. 숫자(n)가 4가 될때까지 반복한다.
3. 숫자(n)는 1씩 증가한다.

console.log(sum);

그 다음 반복할 조건을 코드로 작성한다.

let sum = 1;

"sum과 숫자(n)의 합"을 "sum에 대입"하자 : sum = sum + n;

조건:
1. 숫자(n)는 2부터 시작한다. : let n = 2;
2. 숫자(n)가 4가 될때까지 반복한다. : n <= 4;
3. 숫자(n)는 1씩 증가한다. : n = n + 1;

console.log(sum);

for 구문

단순히 코드를 일정 횟수 반복 시키려고 할때 사용

1.반복할 내용을 중괄호 block 안에 넣어준다

위의 예시를 for문으로 바꿔보자.

let sum = 1;

for( ) {
sum = sum + n; // 반복할 내용
}
console.log(sum);

그럼 조건식들은 어디에 넣는가?(let n = 2; , n <= 4; , n = n + 1;)

2.반복할 조건을 ①초기화, ②조건식, ③증감문 순으로 넣어준다.

let sum = 1;

for(①let n = 2;②n <= 4;③n = n + 1) {
  sum = sum + n;
}
console.log(sum); // 10

(연습문제)

for(    ;    ;    ) {
  console.log('hello world');
}

위의 콘솔 출력을 다섯번 반복해서 찍기 위해 필요한 조건은 무엇인가?

(정답)

for(let n = 1; n <= 5; n = n + 1) {
  console.log('hello world');
}

n이 1부터 5까지 1씩 증가하면 1,2,3,4,5 총 5번을 반복하게 되므로 let n = 1; n <= 5; n = n + 1 으로 쓸 수 있다.

그 외에도

for(let n = 0; n <= 4; n = n + 1) {
  console.log('hello world');
} // 0,1,2,3,4 <- 총 5번
for(let n = 0; n < 5; n = n + 1) {
  console.log('hello world');
} // 0,1,2,3,4 <- 총 5번
for(let n = 1; n < 6; n = n + 1) {
  console.log('hello world');
} // 1,2,3,4,5 <- 총 5번

도 가능하다.

while 구문

정한 조건에 부합할 때 까지만 코드를 반복할 때 사용

for 구문처럼 반복문으로 쓰이나 for 구문은 소괄호 안에 ①초기화, ②조건식, ③증감문이 전부 들어가는 반면에
while 구문은 반복할 조건 중, ①초기화와 ③증감문은 따로 빼놓고, ②조건식만 괄호 안에 넣어준다는 차이점이 있다.

<비교>
(for 구문)

let sum = 1;

for(① let n = 2; ② n <= 4; ③ n = n + 1) { // 초기화, 조건식, 증감문 모두 소괄호안에
  sum = sum + n;
}
console.log(sum); // 10

(while 구문)

let sum = 1;
① let n = 2;  //  초기화 while 바깥에

while(② n <= 4) { // 조건식 소괄호안에
  sum = sum + n;
  ③ n = n + 1; // 증감문 while 안에
}
console.log(sum); // 10

while 구문 해석

let sum = 1;
let n = 2;

while(n <= 4) {
sum = sum + n;
n = n + 1;
}
console.log(sum); // 10

초기화와 증감문이 없다고 간주하고 while(n < =4)를 해석하면
n이 4가 될때까지는 모두 true여서 통과지만 5부터는 4보다 커서 false가 되므로 통과시키지 말고 4까지 반복을 하라는 뜻이다.

profile
말은 사라지지만 기록은 남는다

0개의 댓글