switch (표현식) {
case 표현식1:
switch 문의 표현식과 표현식1이 일치하면 실행될 문;
break;
case 표현식2:
switch 문의 표현식과 표현식2가 일치하면 실행될 문;
break;
default:
switch 문의 표현식과 일치하는 표현식을 갖는 case 문이 없을 때 실행될 문;
}
let a = 2 + 2;
switch (a) {
case 3:
alert( '비교하려는 값보다 작습니다.' );
case 4:
alert( '비교하려는 값과 일치합니다.' );
case 5:
alert( '비교하려는 값보다 큽니다.' );
default:
alert( "어떤 값인지 파악이 되지 않습니다." );
}
위 코드를 실행하면 3개의 alert 문이 모두 실행된다.
alert( '비교하려는 값과 일치합니다.' );
alert( '비교하려는 값보다 큽니다.' );
alert( "어떤 값인지 파악이 되지 않습니다." );
올바른 switch 문은 case 문 마지막에 break 문을 사용한다.
let a = 2 + 2;
switch (a) {
case 3:
alert( '비교하려는 값보다 작습니다.' );
break;
case 4:
alert( '비교하려는 값과 일치합니다.' ); // 실행
break;
case 5:
alert( '비교하려는 값보다 큽니다.' );
break;
default:
alert( "어떤 값인지 파악이 되지 않습니다." );
}
조건에 해당하는 case 문만 실행된다.
var year = 2000; // 2000년은 윤년으로 2월이 29일이다.
var month = 2;
var days = 0;
switch (month) {
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
days = 31;
break;
case 4: case 6: case 9: case 11:
days = 30;
break;
case 2:
// 윤년 계산 알고리즘
// 1. 년도가 4로 나누어 떨어지는 해는 윤년(2000, 2004, 2008, 2012, 2016, 2020…)
// 2. 그 중에서 년도가 100으로 나누어 떨어지는 해는 평년(2000, 2100, 2200...)
// 3. 그 중에서 년도가 400으로 나누어 떨어지는 해는 윤년(2000, 2400, 2800...)
days = ((year % 4 === 0 && year % 100 !== 0) || (year % 400 === 0)) ? 29 : 28;
break;
default:
console.log('Invalid month');
}
console.log(days); // 29
while (조건){
반복해서 실행할 코드
}
아래 코드를 실행시키면 무한 루프가 발생한다.
while(true){
document.write('coding everybody <br />');
}
document.write는 JavaScript를 이용해서 웹페이지에 텍스트를 출력한다.
var i = 0;
// 종료 조건으로 i의 값이 10보다 작다면 true, 같거나 크다면 false가 된다.
while(i < 10){
// 반복이 실행될 때마다 coding everybody <br />이 출력된다.
document.write('coding everybody <br />');
// i의 값이 1씩 증가한다.
i++
}
종료 조건에 의해 while 문이 9번 반복되고 프로그램이 종료된다.
var count = 0;
// 무한루프
while (true) {
console.log(count);
count++;
// count가 3이면 코드 블록을 탈출한다.
if (count === 3) break;
} // 0 1 2
코드 블록 탈출 조건을 if 문에 부여하고 break 문으로 코드 블럭을 탈출할 수도 있다.
윤년을 구하는 예제를 보면서 나라면 어떻게 구현했을까 하는 생각이 문득 들었다🤔 앞으로 백준이나 프로그래머스 같은 사이트를 통해 코딩 과제를 수행하면서 코드를 작성하는 감을 익혀보고 싶다😀