(SEB_FE) Section1 Unit5 반복문

PYM·2023년 2월 24일
0

(SEB_FE) SECTION1

목록 보기
20/38
post-thumbnail
  1. for 반복문을 작성할 수 있다.
  2. for 반복문이 여러 개의 코드 블록의 조합이라는 것을 이해한다.
  3. 구구단 n단 출력을 반복문으로 구현할 수 있다.
  4. 반복문 내부에 조건문을 활용할 수 있다.
  5. 이중반복문의 동작 순서를 이해할 수 있다.
  6. 구구단 1-9단 출력을 이중반복문으로 구현할 수 있다.
  7. for반복문과 while반복문의 차이점을 설명할 수 있다.
  8. for반복문으로 작성된 코드를 while반복문으로 바꿀 수 있다.

반복문을 사용하면 불필요한 코드를 반복적으로 사용하지 않고
간결하게 코드를 작성할 수 있다!

⭐for문

for (초기값; 조건식; 증감식) {
	// 실행할 코드
}

for 뒤에 오는 소괄호(()) 에는 각각 초기값, 조건식, 증감식이,
코드블록에는 반복해서 실행할 코드가 들어감

  • 초기값

    • 증감식 반복횟수를 카운트하는 역할을 하는 변수
    • 초기값은 반복문의 코드블록 내부에서만 유효
  • 조건식

    • 코드블록 내부의 코드의 실행 여부를 결정
    • true일 경우에는 코드를 실행하며, false일 경우 반복문이 종료
  • 증감식

    • 코드블록 내부의 코드를 실행한 후 초기값으로 선언된 변수를 증가 또는 감소시키기 위한 표현식
// 초기값: 초기값(i)을 선언하고 1을 할당
// 조건식: i가 3보다 작거나 같을 경우 코드 실행, 3보다 클 경우 반복문 종료
// 증감식: 코드가 실행될 때마다 i가 1씩 증가

for (let i = 1; i <= 3; i++) {
	console.log(i); // 1 2 3
}

⭐문자열과 반복문

문자열에 반복문을 활용하기 위해 문자열에 대해 몇 가지 복습

  1. 인덱스
  • 문자열의 각 문자는 순서를 가지고 있다. 첫 번째 문자의 인덱스는 0
  • 특정 문자의 인덱스를 확인하는 메서드는 indexOf()
  • 만약 찾는 문자가 2개 이상일 경우, 가장 앞에 있는 문자의 인덱스를 조회
  1. 길이(length)
  • 문자열의 길이는 문자열 뒤에 .length를 붙임으로써 조회할 수 있다.
  • 공백도 하나의 문자열로 취급!
let str = 'codestates';
for (let i = 0; i <= str.length - 1; i++) {
	console.log(str[i]);
}

문자열의 마지막 문자의 인덱스는 문자열의 길이보다 1만큼 작다!
i <= str.length - 1 ( 또는 i < str.length )로 조건식을 작성하면 문자열의 끝까지 순회하는 반복문을 구현할 수 있다.

⭐반복문의 중첩

반복문은 중첩이 가능하다.
다시 말해 반복문 내부에 또 다른 반복문을 사용할 수 있다!

2개의 반복문이 중첩된 경우 이중반복문, 3개의 반복문이 중첩된 경우 삼중반복문이라고 한다.

for (let i = 1; i <= 6; i++) {
	for (let j = 1; j <= 6; j++) {
		console.log(`첫번째 주사위는 ${i}, 두번째 주사위는 ${j}입니다.`);
	}
}
  • 외부 반복문의 초기화와 조건식 평가가 이루어진 후, 내부 반복문이 실행된다

  • 내부 반복문 또한 초기화와 조건식 평가가 이루어진 후 내부에 있는 코드가 실행되고, 증감식, 조건식 평가가 반복적으로 이루어 진다

  • 내부 반복문의 조건식 평가가 false가 되면, 내부 반복문은 종료가 되고 외부 반복문의 증감식과 조건식 평가가 이루어짐
    ➡ 이때 조건식 평가가 true면, 다시 내부 반복문을 순환

  • 외부 반복문의 조건식이 false가 되면 모든 반복문이 종료

⭐While문

초기화, 조건식, 증감식이 모두 필요한 for문과 달리,
while문은 조건식만 입력한 후 조건식의 평가결과가 true인 경우
코드블록 내부의 코드를 반복하여 실행한다

  • while문을 사용할 때는 무한루프를 주의
    • 무한루프: 반복문이 종료되는 조건식이 항상 참으로 평가되어 무한히 반복되는 현상
  • 따라서 while문을 작성할 때는 조건식이 false로 평가되는 순간이 있는지 반드시 주의🚨
//num은 항상 0보다 크므로, 무한루프가 발생
let num = 1;
while (num > 0) {
	console.log(num);
	num++;
}

💫do…while문

  • while 뒤에 오는 조건식이 true로 평가되는 동안 do 뒤에 오는 코드블록 내부의 코드를 반복하여 실행
  • 단, 이 경우 do의 코드블록 내부의 코드가 최소 한 번은 실행

⭐for문과 while문

그래서 둘이 뭐가 다른데요?

➡ 용도가 명확하게 구분되지 않는다. while문으로 할 수 있는 것을 for문으로 구현이 가능하고, for문으로 할 수 있는 것을 while문으로 구현이 가능하다.
그러나 주로 사용하는 상황은 존재한다!

💫for문을 사용하는 경우

  • 반복 횟수가 비교적 명확할 때
  • 배열, 문자열 내부를 순회할 때
  • 반복문의 중첩이 필요할 때

💫while문을 사용하는 경우

  • 반복 횟수가 명확하지 않을 때
profile
목표는 "함께 일하고 싶은, 함께 일해서 좋은" Front-end 개발자

0개의 댓글