제어문
제어문이란 프로그램에서 필요한 결과 값을 도출 하기 위해 실행문의 순서를 제어 하거나 반복 시키는 문장을 말합니다.
조건문 | if,switch |
반복문 | while.do while, for |
중지,건너뛰기 | break, continue |
조건문
1.if문
조건이 참(True)인 경우에만 실행 합니다. 만약 조건이 거짓(False)이라면 else가 실행됩니다.
if(""){
document.write("실행 되었습니다.(true)")
} else {
document.write("실행되었습니다.(false)");
}
// 조건식 flase: 0, null, undefined ,flase, ""(빈문자열)
// 조건식 true: 1, 2, "0", "1", "ABC", [], {}, true, ...
//결과 실행되었습니다.(false)
if의 조건식이 위와 같을때 flase가 되는 5가지를 제외하고 다 true가 나옵니다.
02. if문 생략
if문에 "{ }"을 생략하여 더 간결하게 쓸수 있습니다.
const num = 100;
if(num == 100) document.write("실행되었습니다.(true)");
else document.write("실행되었습니다.(false)");
//결과 실행되었습니다.(true)
03. 삼항 연산자
if문을 최대한 간결하게 적은것입니다. ("공식 ? 참일때 : 거짓일때")
삼항 연산자는 답만 읽고 출력하기 때문에 데이터가 많을때 연산 시간이 오래걸리지 않습니다.
const num = 100;
(num == 100) ? document.write("true") : document.write("false"); // 다읽지 않고 읽을것만 읽는다
//결과 true
04. 다중 if문
여러개의 조건을 비교할때 사용합니다.
처음 조건이 거짓일 경우 다음조건 으로 넘어갑니다.
const num = 100;
if(num == 90){
document.write("실행되었습니다(num == 90)"); //num은 90이 아니기에 다음조건을 수행합니다.
} else if (num == 100){
document.write("실행되었습니다(num == 100)"); //num은 100이 맞으므로 실행됩니다.
} else if (num == 100){
document.write("실행되었습니다(num == 110)"); //이미 조건을 충족했기에 다음으로넘어가지않습니다.
} else if (num == 120){
document.write("실행되었습니다(num == 120)");
} else {
document.write("실행되었습니다")
}
//결과 "실행되었습니다(num == 100)"
05. 중첩 if문
if문 내부에 또 다른if문을 작성하는 것을 의미합니다.
이를 사용하면 여러 개의 조건문을 동시에 검사할 수 있으며, 조건식의 결과에 따라 다른코드 블록이 실행 됩니다.
const num = 100;
if (num == 100){
document.write("실행되었습니다.(1)"); //조건이 맞으면 실행되고 다음 조건으로 넘어갑니다.
if (num >= 90){
document.write("실행되었습니다.(2)"); //조건이 맞으면 실행되고 다음 조건으로 넘어갑니다.
if (num <= 110){
document.write("실행되었습니다.(3)"); //조건이 맞으면 실행되고 틀리면 실행되지 않습니다.
}
}
} else {
document.write("실행되었습니다.(4)"); //조건이 처음부터 틀리면 실행됩니다.
}
//결과 실행되었습니다.(1)실행되었습니다.(2)실행되었습니다.(3)
06.switch문
switch의 값과 case의 값들을 하나씩 비교하여 일치하는 case를 실행시켜 줍니다
if문과 다르게 조건이 만족 했을 때 블록"{ }"을 스스로 빠져나가지 못하므로 ,break명령어를 주어야 합니다.
const num = 100;
switch(num){
case 90:
document.write("실행90"); // 조건을 만족 했을때 break를 주어서 결과값을 받고 멈춰야 합니다.
break;
case 80:
document.write("실행90");
break;
case 70:
document.write("실행90");
break;
case 60:
document.write("실행90");
break;
case 50:
document.write("실행90");
break;
default: //default는 switch의 값과 일치하는값이 없을 때 실행합니다.
document.write("0")
}
반복문
07.while문
for문과 비슷한 반복문 입니다.
while문은 조건이 맞지 않으면 실행하지 않습니다.
지금은 쇠퇴한 반복문이니 알아만두자.
let num = 0; //for문이랑 비슷
while(num <= 5){
document.write(num); //조건에 맞지않으면 실행x
num++;
//결과 012345
08.do while문
while문과 같지만 조건이 맞지 않아도 한번은 실행 합니다.
let num2 = 0;
do {
document.write(num2); //조건에 맞지않아도 한번은 실행
num2++;
} while (num2<5);
//결과 01234
09.for문
반복적인 작업을 수행하는 데 사용되는 제어문입니다.
for(let i=1; i<=100; i++){ //i<=100 공식이 성립 될때까지 반복
document.write(i)
//결과 1~100까지 숫자가 나온다.
10. 중첩 for문
for문 내부에 또 다른 for문을 작성하는 것을 의미 합니다.
for(let i=1; i<=10; i++){
document.write(i,"<br>");
for(let j=1; j<=10; j++){ // i1에 j10까지 반복하고 i2로 넘어가서 j10까지 반복이렇게 i10까지
document.write(j);
}
}
//결과 i : 1 j : 1 j : 2 j : 3 ... j : 10 i :2 j : 1 j : 2 j : 3 ...i : 10 j : 1 j : 2 j : 3 j : 4 ... j : 10
11. break문
조건이 성립할 때 까지만 반복 실행을하고 조건이 성립할 때 멈추는 제어문 입니다.
for(let i=1; i <= 100; i++){
if( i == 10){
break; // 1~9까지나오고 브레이크
}
document.write(i); // 출력문이 조건문보다 위에 있으면 10까지 나오고 브레이크 됩니다.
}
//결과 123456789
12. continue문
조건이 성립 되는것을 빼고 반복 실행 하는 제어문 입니다.
for(let i=1; i<=20; i++){
if(i==10){
continue; //10을 건너뛰고 카운트
}
document.write(i); //출력문이 조건문보다 위에 있을경우 10까지 카운트 됩니다.
}
//결과 12345678911121314151617181920