javascript

기초 13. while과 for 반복문

케케_ 2024. 9. 4. 00:19

용어

iteration (반복) : 반복 본문이 한 번 실행되는 것 / 3번 실행되면 세 변의 이터레이션이라고 함

 

'while' 반복분

문법

while (condition) {
  // 코드
  // '반복문 본문(body)'이라 불림
}
  • 조건이 참이면 코드 실행

예제 1

// i++가 있어 무한반복이 되지 않음
let i = 0;
while (i < 3) { // 0, 1, 2가 출력됩니다.
  alert( i );
  i++;
}

 

예제 2

// 자동으로 조건을 0으로 만들어 false 후 반복 탈출
let i = 3;
while (i) { // i가 0이 되면 조건이 falsy가 되므로 반복문이 멈춥니다.
  alert( i );
  i--;
}

 


'do...while' 반복문

문법 / 본문 최소 '한' 번 실행

do {
  // 반복문 본문
} while (condition);

 

본분 먼저 실행 -> 조건 확인 -> 참이면 본분 계속 실행

 

// 0 1 2 출력
let i = 0;
do {
  alert( i );
  i++;
} while (i < 3);

 


'for' 반복문

문법

for (begin; condition; step) {
  // ... 반복문 본문 ...
}

 

for (let i = 0; i < 3; i++) { // 0, 1, 2가 출력됩니다.
  alert(i);
}
  • 반복문 안 begin에 정의한 i = '인라인' 변수 선언
    • 이 변수는 반복문 안에서만 접근!

 

알고리즘

begin을 실행함
→ (condition이 truthy이면 → body를 실행한 후, step을 실행함)
→ (condition이 truthy이면 → body를 실행한 후, step을 실행함)
→ (condition이 truthy이면 → body를 실행한 후, step을 실행함)
→ ...

 

 

구성요소 생략

1 - begin 생략

let i = 0; // i를 선언하고 값도 할당하였습니다.

for (; i < 3; i++) { // 'begin'이 필요하지 않기 때문에 생략하였습니다.
  alert( i ); // 0, 1, 2
}

 

2 - step 생략 ( = while ( i < 3)과 동일

let i = 0;

for (; i < 3;) {
  alert( i++ );
}

 

(주의) 세미콜론 ;  은 두 번 꼭! 넣어야함

 

반복문 빠져나오기

  1. 조건 '거짓' 만들기
  2. break 사용
let sum = 0;

while (true) {
  let value = +prompt("숫자를 입력하세요.", '');
  if (!value) break; // (*)
  sum += value;
}
alert( '합계: ' + sum );

 

 

다음 반복으로 넘어가기

: continue

 

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

  // 조건이 참이라면 남아있는 본문은 실행되지 않습니다.
  if (i % 2 == 0) continue;

  alert(i); // 1, 3, 5, 7, 9가 차례대로 출력됨
}

 

 

break/continue와 레이블

레이블(label) : 반복문 앞에 콜론과 함께 쓰이는 식별자

 

문법

labelName: for (...) {
  ...
}

 

 

예 --> 중첩 반복문에서 break를 한번만 써서 두개의 for문 탈출

outer: for (let i = 0; i < 3; i++) {

  for (let j = 0; j < 3; j++) {

    let input = prompt(`(${i},${j})의 값`, '');

    // 사용자가 아무것도 입력하지 않거나 Cancel 버튼을 누르면 두 반복문 모두를 빠져나옵니다.
    if (!input) break outer; // (*)

    // 입력받은 값을 가지고 무언가를 함
  }
}
alert('완료!');

 

아래와 같이도 가능

outer:
for (let i = 0; i < 3; i++) { ... }

 

--> continue 도 위와 같이 사용 가능

'javascript' 카테고리의 다른 글

기본 15. 함수  (1) 2024.09.06
기본 14. switch문  (0) 2024.09.05
기초 12. nullish 병합 연산자 '??'  (0) 2024.09.03
기초 11. 논리 연산자  (0) 2024.09.02
기초 10. if문과 조건부연산자 '?'  (0) 2024.09.02