반복문
반복문
컴퓨터는 반복적인 작업을 하는데 매우 효율적입니다.
모든 프로그래밍 언어는 반복을 처리하는 반복문을 가지고 있습니다. 조건문과 더불어 가장 많이 쓰이는 문입니다.
while 문으로 Hello, while! 100번 출력하기
while (조건식) {
실행문;
}
while 문은 조건식이 참인 동안 반복해서 실행문을 실행합니다.
if 문과 마찬가지로 실행문이 하나더라도 중괄호로 묶는 것을 권장합니다.
while(true) {
console.log('Hello,while!');
} // 무한반복
위의 코드는 while 문의 조건식이 참이므로 무한히 실행됩니다.
실제로 실행하면 어느 순간 웹 브라우저가 멈추게 되고, 다른 일을 할 수가 없게 됩니다.
이 같은 문제가 발생하지 않기 위해 프로그래밍할 때는 무한 반복되는 상황을 방지해야 합니다.
let i = 0;
while (i < 100) {
console.log('Hello, while!');
i++;
}
// Hello, while! 100번 출력
변수 i를 선언하고 조건식을 i < 100으로 줍니다. 사람이 숫자를 세듯이 console.log 할 때마다 i를 1씩 증가시킵니다.
i가 100이 되면 조건식이 false가 되어 반복문지 종료됩니다.
프로그래밍에서는 숫자를 0부터 세기 때문에 변수에 첫 번째 값으로 1보다는 0을 사용할 것을 권장합니다.
for 문으로 반복해서 출력하기
반복문에는 while 문 외에도 for 문이 있습니다.
for (변수 초기화; 조건식; 종료식) {
실행문;
}
for (let i = 0; i < 100; i++) {
console.log('Hello, for!');
}
// Hello, for! 100번 출력
for 문의 시작(변수 초기화), 조건식은 생략할 수 있습니다.
for(;;) {
}
(무한 반복)
하지만 실제로 코드를 실행하면 무한 반복되어 프로그램이나 브라우저가 멈춰 버립니다.
1분 퀴즈
1부터 100까지 출력하는 코드를 for 문으로 작성하시오.
정답 및 해설
for(let i = 1; i <= 100; i++) {
console.log(i);
}
// for문 소괄호 안에 시작하는 숫자 1을 변수 i로 초기화 한 후 100과 같거나 작을 때까지 반복을 실시한다.
break 문으로 반복문 멈추기
반복문으로 값을 하나씩 찾다가 원하는 값을 찾으면 반복문을 멈춰야 합니다.
이때 break문을 활용합니다.
let i = 0;
while(true) {
if(i === 5){
break;
i++;
}
}
console.log(i);
// 5
예제의 반복문은 while(true)이기 때문에 무한 반복됩니다. 하지만 실행문에 조건문을 통해 i가 5인 경우 break문을 통해 반복문은 종료됩니다.
무한 반복일 때는 for문 보다 while문을 더 많이 사용합니다. 그 이유는 코드가 간결하기 때문입니다.
continue 문으로 코드 실행 건너뛰기
반복문이 특정 조건에서만 실행되기를 원할 경우 continue 문을 사용합니다. continue 문을 사용하면 이후 코드는 건너뛰게 됩니다.
let i = 0l
while (i < 10) {
i++;
if (i % 2 === 0) {
continue;
}
console.log(i);
}
/*
1
3
5
7
9
*/
예제는 홀수일 때만 출력하는 코드입니다.
i를 2로 나눈 값이 0이면 continue 문이 실행되어 이후 코드를 건너뛰게 됩니다.
중첩 반복문 사용하기
반복문 안에 반복문이 들어가는 경우를 중첩 반복문이라고 합니다.
for(let i = 0; i < 10; i++) {
for(let j = 0; j < 10; j++) {
console.log(i, j);
}
}
/*
0 0
0 1
0 2
0 3
...
9 7
9 8
9 9
...
*/
중첩 반복문을 사용할 때
i가 0일 때 두 번째 반복문이 실행되며, 여기서 j가 0에서 9까지 증가한 후에 i가 1이 되고 다시 j가 0에서 9까지 증가한다. 이 과정이 반복됨.
1분 퀴즈
구구단을 출력하되, 결과에 짝수가 하나도 나오지 않게 해 보세요. continue 문을 사용하세요.
for(let i = 2; i <= 9; i++) {
for(let j = 1; j <= 9; j++) {
if(i % 2 === 0 || j % 2 === 0) {
continue;
}
console.log(i + '*' + j + '=' + i * j);
}
/*
i는 2단, j는 1부터 시작해서 9까지 반복하는 중첩 반복문 구성한 후
조건문에 해당하는 값이 나올때는 이후 코드는 생략
i값과 j값 그리고 i와 j를 곱하는 값을 출력
*/
'IT' 카테고리의 다른 글
[Let's Get IT 자바스크립트 프로그래밍] 3장 DOM 객체 다루기 - 끝말잇기 게임(1) (0) | 2022.06.27 |
---|---|
[Let's Get IT 자바스크립트 프로그래밍] 2장 기본 문법 배우기 - 객체 (0) | 2022.06.23 |
[Let's Get IT 자바스크립트 프로그래밍] 2장 기본 문법 배우기 - 조건문 (0) | 2022.06.23 |
[Let's Get IT 자바스크립트 프로그래밍] 2장 기본 문법 배우기 - 변수 (0) | 2022.06.23 |
[Let's Get IT 자바스크립트 프로그래밍] 2장 기본 문법 배우기 - 코드 작성 규칙, 자료형 (0) | 2022.06.22 |