제어문
반복문의 유효 범위를 { } 스코프 라고 한다.
스코프 안쪽에서 변수 선언시 스코프 밖에서 사용할수 없으며,
스코프 밖에서 선언한 변수는 스코프 안쪽에서도 사용할수 있다.
▶ 조건문 if~else
조건을 만족할경우 (true)와 만족하지 못할경우(false)에 따라 실행되는 코드가 달라진다.
>> if가 true일 경우 문장 2를 실행하고, false일 경우 문장3을 실행한다.
▶ 선택문 switch
switch 문 안의 식을 판단하여 case뒤의 값과 일치하면 그 뒤으 문장으로부터 break 사이의 문장을 실행한다.
만약 case뒤의 일치하는 문장이 없다면 default와 break 사이의 모든 문장을 실행한다.
▶ 반복문 - while
while - 조건식이 true일 경우 반복 실행
var num = 0;
while(num<100){
console.log(num); //조건식에 true가 될 경우 반복, false가 될 경우 반복정지
num++;
}
변수 num의 초기값을 0으로 설정한다.
num이 100보다 작을때(true) num을 출력후 1씩 증가시켜 num에 저장한다.
num이 100보다 커질때(false)까지 반복한다.
예제
예제 1) 반복문과 조건문을 활용하여 1부터 100까지 실행하고 짝수만 출력하라.
var num = 0;
while(num<100){
if(num%2 == 0){
console.log(num);
}
num++;
}
① 변수 num의 초기값을 0으로 선언한다.
② 변수 num이 100 미만일 때 조건문을 실행하는 반복문(while)을 실행한다.
③ 조건문 if는 변수 num을 2로 나누었을 때 나머지가 0인 경우( =짝수인 경우) 콘솔창에 변수 num을 출력한다.
④ 조건문을 실행한 후 num을 1 증가시킨다.
⑤ 변수 num이 100 이상이 될 때까지 반복한다.
예제2) 1~100까지 반복을 시키고, 3의배수만 result라는 변수에 합산시켜 최종 결과물만 출력시켜라.
var num = 1;
var result = 0;
while(num <= 100){
if(num%3 == 0){
result += num;
}
num++;
}
console.log(result);
① 변수 num의 초기값을 1로, 변수 result의 초기값을 0으로 선언한다.
② 변수 num이 100이하일 때 조건문을 실행하는 반복문(while)을 실행한다.
③ 조건문 if는 변수 num을 3으로 나누었을 때 나머지가 0인 경우( =3의배수) 변수 result에 num의 값을 더한다.
④ 조건문을 실행한 후 num을 1 증가시킨다.
⑤ 변수 num이 101 이상이 될 때까지 반복한다. 그리고 변수 result의 값을 콘솔창에 출력시킨다.
![](https://blog.kakaocdn.net/dn/czIzgy/btqC21PX3F1/2OXs6YT0qqM7oPesi8rxAK/img.png)
예제3) prompt 명령어로 받은 숫자로 구구단을 출력시켜라.
var i = 1;
var num = prompt("구구단","");
while(i<=9){
console.log(num*i);
i++
}
① 변수 i의 초기값을 1로 선언한다.
② prompt 명령어로 변수 num을 받아온다고 선언한다.
③ 반복문 while은 변수 i가 9이하일 때 다음과 같이 실행된다.
④ 입력받은 num과 i의 값을 곱해 콘솔창에 출력한다.
⑤ 콘솔창에 출력한 후 i의 값을 1 증가시킨다.
var num = Number(prompt("구구단",""));
prompt로 변수를 받아 올 경우 문자열로 받아진다.
이를 num에 저장하기 위해선 Number()명령어가 필요하다.
▶ 반복문 - for
반복문 for의 기본 형태이다.
for(초기화 식 ; 다시반복할지 확인하는 식 ; 변화를 주기위한 식) 으로 이해할수 있다.
for(var i=0; i<100; i++){
console.log('반복문 i의 값 출력' + i);
}
>> for(① ② ④){③}
① 변수 i의 초기값을 0으로 선언.
② 변수 i의 값이 100미만일 때 ③을 실행.
③ i의 값을 콘솔창에 출력한다.
④ ③을 실행한 후 i의 값을 1 증가시킨 후 ①②③을 반복한다.
예제
예제4) for 문을 활용하여 0~99까지 반복을 돌리고 5의 배수만 콘솔창에 출력하라.
for(var i=0;i<100;i++){
if(i%5==0){
console.log(i);
}
}
① 변수 i의 초기값을 0으로 선언한다
② i가 100미만일 때 다음을 실행한다.
③ i를 5로 나누엇을 때 나머지가 0일 경우 다음을 실행한다.
④ 콘솔창에 i를 출력한다.
⑤ i를 1 증가시킨 후 위를 반복한다.
▶ 이중 반복문 -for
for(i=0;i<10;i++){
for(j=0;j<10;j++){
console.log(i+j);
}
}
변수를 2개 선언하여 이중으로 반복할수 있다.
예제
예제1) 이중 반복문을 활용하여 구구단 1단부터 9단까지 출력하여라.
(출력포맷 1 X 1=1)
for(var i=1;i<=9;i++){
for(var j=1;j<=9;j++){
console.log(i,"x",j,"=",i*j);
}
}
- 변수 i의 초기값을 1로 선언한 후, i가 9이하일 경우 다음을 실행한다.
- 변수 j의 초기값을 1로 선언한 후, j이 9이하일 경우 다음을 실행한다.
- 콘솔창에 i값과 j값을 곱하여 출력한다.
- 변수 j의 값을 1씩 증가시켜 ③을 반복한다.
- 변수 i의 값을 1씩 증가시켜 ③,④를 반복한다.
▶ break , continue
- break
반복문이 break 키워드를 만나면 더이상 반복을 수행하지 않는다.
for(var i=0;i<100;i++){
if(i>10)break;
console.log('break확인:',i);
}
- 반복문 for을 수행하는 과정
변수 i가 100보다 작을 경우 콘솔창에 i 의 값을 출력한다.
변수 i를 1씩 증가시켜 100보다 커질 때 까지 반복한다.
하지만 if break문에서 i가 10보다 클 경우 break를 걸어준다.
>> break를 걸어주어 i가 10일 때 까지만 출력이 되었다.
break를 걸어주지 않으면 i가 99까지 출력이 된다.
- continue
반복 수행 중 continue 키워드를 만나면 아래의 로직을수행하지 않고 그 다음 반복을 진행한다.
for(var i=0;i<100;i++){
if(i%2 == 0)continue;
console.log('continue실행:',i);
}
변수 i가 100보다 작을 때 i를 콘솔창에 출력한 후, i의 값을 1 증가시키고 이를 반복한다.
break를 i의 값을 2로 나눳을때 나머지가 0이면 (짝수일 경우) 다음 반복문을 실행하지 않게 한다.
>> 따라서 출력 결과, 홀수의 반복문만 출력이 된다.
'JavaScript&JQuery' 카테고리의 다른 글
자바스크립트의 함수 (0) | 2020.03.31 |
---|---|
자바스크립트의 배열 (0) | 2020.03.31 |
JavaScript 연산자 (0) | 2020.03.31 |
JavaScript 변수 (0) | 2020.03.30 |
JavaScript 란 ? (0) | 2020.03.30 |