<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
/*
if문(else, else if문)
- 자바에서의 if문과 문법 구조 동일
[ 기본 문법 ]
if(조건식1) {
// 조건식1 의 판별 결과가 true 일 때 실행할 문장들...
} else if(조건식2) {
// 조건식 1 의 판별 결과가 false 이고, 조건식2 의 판별 결과가 true 일 때 실행할 문장들...
} else {
// 모든 조건식의 판별 결과가 false 일 때 실행할 문장들...
}
*/
// 사용자의 나이를 입력받는 문장 작성(메세지 : "나이를 입력하세요.")
// => 입력되는 나이를 age 라는 변수에 리턴받아 저장 후 출력해보기
// var age = prompt("나이를 입력하세요.");
// alert("나이 : " + age + ", 데이터타입 : " + typeof(age));
// 입력받은 나이에 대해 10대인지 여부 판별하는 if문을 작성
// => 10대일 경우 "10대입니다!" 출력하고, 아니면 "10대가 아닙니다!" 출력
// => 단, prompt() 함수로 입력 시 string 타입이지만
// 숫자 데이터타입과 연산을 수행할 경우 자동으로 숫자 형태(number)로 형변환 일어남
// if(age >= 10 && age <= 19) {
// alert("10대입니다!");
// } else {
// alert("10대가 아닙니다!");
// }
// ---------------
// 숫자 데이터 1개를 전달받아 변수 num 에 저장하고
// 해당 숫자에 대해 양수, 음수, 0 판별하여 출력하기
// ex) 입력 데이터 : 10 일 경우 "10 : 양수!" 출력
// var num = prompt("숫자를 입력하세요.");
// if(num > 0) { // 양수
// alert(num + " : 양수!");
// } else if(num < 0) { // 음수
// alert(num + " : 음수!");
// } else { // 0
// alert(num + " : 0!");
// }
// ===========================================================
/*
switch-case 문(switch 문)
- 주어진 조건에 따라 값을 비교하여 일치하는 값에 대한 문장 실행
- switch 문에서 조건식을 판별하고, case 문 뒤에 기술된 값을 비교하여
일치하는 값에 해당하는 case 문의 실행 문장을 실행
- break 문을 만나거나 switch 블록이 끝날때 까지 다음 case 및
default 문을 모두 실행함
- break 문은 생략도 가능함
*/
// 정수 1개를 입력받아 변수 num2 에 저장하고
// switch-case 문을 통해 정수 값이 1, 2, 3 인지 각각 판별하여 결과를 출력하고
// 모두 아닐 경우 "일치하는 값이 없습니다." 출력
// ex) 입력받은 정수가 2일 경우 : "2입니다." 출력 후 종료
// "" 10일 경우 : "일치하는 값이 없습니다." 출력 후 종료
// var num2 = prompt("정수를 입력하세요.");
// switch(num2) { // num2 가 string 타입이므로 문자형태의 값을 case 문에서 비교해야함
// case "1" : // 변수 num 의 값이 "1" 일 때 실행할 문장들을 case "1" : 뒤에 기술함
// alert("1 입니다.");
// break; // 다음 case 문을 실행하지 않고, switch 문을 즉시 종료함(빠져나감)
// case "2" :
// alert("2 입니다.");
// break; // 다음 case 문을 실행하지 않고, switch 문을 즉시 종료함(빠져나감)
// case "3" :
// alert("3 입니다.");
// break; // 다음 case 문을 실행하지 않고, switch 문을 즉시 종료함(빠져나감)
// default : // 일치하는 case 문이 없을 경우 실행할 문장들을 default : 뒤에 기술함
// alert("일치하는 값이 없습니다.");
// // 더 이상 실행할 문장이 없이 switch 문이 종료되므로 break 문 생략 가능
// }
// break 문을 만났을 경우 다음 실행 코드의 위치
// ----------------------------------------
// break 문의 생략을 적절하게 활용하는 예
// => 변수 month 에 현재 몇 월 인지 입력받아 저장
// => 입력받은 달이 1, 3, 5, 7, 8, 10, 12월일 경우 "x월은 31일까지 입니다!" 출력
// => 입력받은 달이 2월일 경우 "x월은 28일까지 입니다!" 출력
// => 입력받은 달이 4, 6, 9, 11월일 경우 "x월은 30일까지 입니다!" 출력
// => 아니면 "달을 잘못 입력하셨습니다." 출력
var month = prompt("달을 입력하세요.");
// switch(month) {
// case "1" : alert("1월은 31일까지입니다."); break;
// case "2" : alert("2월은 28일까지입니다."); break;
// case "3" : alert("3월은 31일까지입니다."); break;
// case "4" : alert("4월은 30일까지입니다."); break;
// case "5" : alert("5월은 31일까지입니다."); break;
// case "6" : alert("6월은 30일까지입니다."); break;
// case "7" : alert("7월은 31일까지입니다."); break;
// case "8" : alert("8월은 31일까지입니다."); break;
// case "9" : alert("9월은 30일까지입니다."); break;
// case "10" : alert("10월은 31일까지입니다."); break;
// case "11" : alert("11월은 30일까지입니다."); break;
// case "12" : alert("12월은 31일까지입니다."); break;
// default : alert("달을 잘못 입력하셨습니다.");
// }
// break 문을 적절히 생략하여 코드 중복 제거
switch(month) {
case "1" : // 1월부터 12월까지
case "3" : // 31일에 해당하는
case "5" : // 월이 입력될 경우
case "7" : // 각 문장에서 break 문이 없으므로
case "8" : // 12월까지 진행되어 12월의 문장을 공통으로 실행한 후
case "10" : // 12월의 break 문에 의해 switch 문이 종료됨
case "12" : alert(month + "월은 31일까지입니다."); break; // 1,3,5,7,8,10,12 일 때 실행
case "2" : alert("2월은 28일까지입니다."); break;
case "4" : // 4월, 6월, 9월, 11월 입력 시
case "6" : // 모든 실행문을 11월에 위치시켜
case "9" : // 11월의 문장을 실행한 후 switch 문이 종료됨
case "11" : alert("11월은 30일까지입니다."); break;
default : alert("달을 잘못 입력하셨습니다.");
}
</script>
</head>
<body>
</body>
</html>