“ 지연되는 프로젝트에 인력을 더 투입하면 오히려 더 늦어진다. ”
- Frederick Philips Brooks
Mythical Man-Month 저자
제어문
제어문이란 프로그램에서 필요한 결과 값을 도출하기 위해 실행문의 순서를 제어하거나 반복시키는 문장을 말합니다. 제어문은 크게 조건문,반복문,중지,건너뛰기의 분류로 나눌 수 있습니다. 저번에 살펴 보았던 제어문과 더불어 새롭게 추가된 제어문에 대해서 함께 알아보도록 해요!
분류 | 제어문 |
조건문 | if, swich |
반복문 | while, do while, for |
중지,건너뛰기 | break,continue |
01. 조건문
if문
가장 기본적인 사용하는 조건문으로 주어진 조건이 참일 경우에만 코드 블록이 실행할 수 있습니다.
if(조건식){
document.write("실행되었습니다.(ture)");
//조건식을 쓴 후 실행문을 써줘야 합니다.
}
if문 생략
기본 if 문을 생략해서 쓸 수 있습니다.
//기본 if문 사용
const num = 100;
if(num){
if(num) document.write("실행되었습니다.(ture)");
}else {
documetn, write("실행되었습니다."(false));
//생략해서 사용한다면
if(num)document.write("실행되었습니다."(ture));
else document.write("실행되었습니다."(false));
삼항연산자
?를 사용하여 결과값을 불러올 수 있습니다.
//기본형식
const num = 100;
if(num == 100){
document.write("ture")
}else {
document.write("false");
// ?표와 : 를 사용한 형식
(num == 100)? document.wirte("ture") : document.write("false");
//효율성이 더 좋고 소스가 복잡해질 떄 간단하게 읽을 수 있습니다.
다중 if (else if)
1개의 값을 여러 조건으로 체크해야 할 때 사용하는데 조건이 맞지 않을 경우를 고려해서 else를 사용할 수 있습니다.
const num = 100
if(num == 90 ){
document.write("실행되었습니다(num == 90)");
}else if (num == 100) {
document.write("실행되었습니다(num == 100)");
}else if (num == 110) {
document.write("실행되었습니다(num == 110)");
}else if (num == 120) {
document.write("실행되었습니다(num == 120)");
}else {
document.write("실행되었습니다");
}
중첩 if
if문 안에 중첩으로 여러 if문이 들어올 수 있습니다.
const num = 100;
if(num == 100){
document.write("실행되었습니다.(1)");
if(num == 100){
document.write("실행되었습니다.(2)");
if(num == 100){
document.write("실행되었습니다.(3)");
}
}
}else{
document.write("실행되었습니다.(4)");
swich문
다중 if문과 비슷한 형태를 지녔으며 swich 값의 값과 case의 값들을 하나씩 비교하여 일치하는 case를 실행시켜 줍니다. if문과 다르게 특정 조건에 만족할 때 { }블록을 스스로 빠져나가지 못하기 때문에 break라는 명령어를 주어서 스스로 빠져나가게 만들어 주어야 합니다.
const num = 100;
switch(num){
case 90:
document.write("실행90");
break;
case 80:
document.write("실행80");
break;
case 70:
document.write("실행70");
break;
case 60:
document.write("실행60");
break;
case 50:
document.write("실행50");
break;
//break문(중간에 끝내는 것)을 써야 무한에 빠지지 않습니다. 빠지면 모든 케이스가 다 실행이 된다.
default:
document.write("0");
02. 반복문
while문
for문과 비슷한 형태를 가지고 있으며 while을 사용해서 나타낼 수 있습니다.
let num = 0; //초기값
while(num<5){ //조건문
document.write(num);
num++; //실행이 한번에 되지 않는다
do while문
do와 while을 사용해서 나타낼 수 있습니다. do while문에서는 do를 먼저 실행하기 때문에 첫번째 실행은 조건에 상관없이 실행합니다.
let num2 = 0;
do{
document.write(num2);
num2++;
}while (num2<5); //do 문법을 쓰는 이유 : 실행이 한번에 된다
for문
for문의 형식을 이용해서 조건에 맞는 값을 나타낼 수 있습니다.
//for문 기본 형식
for(let i=1; i<=100; i++){
document.write(i);
//for문을 이용해서 홀수값 짝수 값을 구한 후 홀수는 파란색 짝수는 빨간색으로 나타내는 법
const arr = [1,2,3,4,5,6,7,8,9,];
for(let i=0; i<arr.length; i++){
document.write(arr[i]);
}
for(let i=1; i<=arr.length; i++){
if(i % 2 == 0){
document.write("<span style='color:red'>"+i+">span>");
} else {
document.write(`<span style='color:blue'>"+i+"</span>`);
}
//for문을 이용해서 1부터 9까지 모든 값 더하는 법
let unm = [1,2,3,4,5,6,7,8,9];
let sum = 0;
for(let i=0; i<=num.length; i++){
document.write(num[i]);
sum += num[i];
}
document.write("<br>")
document.write(sum)
중첩 for문
for문 안에 또 다른 for문을 이용할 수 있습니다. for문 안에 if문이 들어갈 수 있고 반대로 if문 안에 for문이 들어갈 수도 있습니다.
//중첩 for문을 사용해서 1~100까지 구하는 방법입니다.
for(let i=1; i<=10; i++){
document.write(i,"<br>");
for(let j=1; j<=10; j++){
document.write(j);
//중첩 for문을 사용해서 테이블 만드는 방법입니다.
let table = "<table border = '1'>";
let count = 0;
for(let i=0; i<5; i++){
table += "<tr>";
for(let j=0; j<5; j++){
count++;
if(count % 2 == 0){
table += "<td style='color:red'>"+count+"</td>";
}else {
table += "<td style='color:blue'>"+count+"</td>";
}
}
table += "</tr>";
}
table += "</table>";
document.write(table);
03. 중지,건너뛰기 문
break문
코드 실행 중 break 문을 만나게 되면 현재 실행문을 중지시키고 다음 실행문으로 넘어가게 합니다.
for(let i=1; i<20; i++){
if(i == 10){
break;
}
document.write(i)
}
//1에서 부터 20까지 출력되지 않고 10까지 출력 됩니다.
continue문
continue 문은 특정 조건을 만족 했을 때 그 해당 값만 건너 뛸 수 있습니다.
for(let i=1; i<20; i++){
if(i == 10){
continue;
}
document.write(i)
// 1부터 20까지 출력되지만 10을 건너뛰고 출력 됩니다.
// result : 1,2,3,4,5,6,7,8,9,11,12,13,.....,20