조건문은 조건에 따라서 코드를 실행하거나 실행하지 않을 때 사용하는 구문입니다! 1주차에서 배웠던 비교 연산자, 논리 연산자를 사용해 조건문을 만들어 봅시다!
if(불 값이 나오는 표현식) {
불 값이 참일 때 실행할 문장
}
책에 나온대로 오전과 오후를 구분하는 예제를 만들어봅시다!
<body>
<script>
const date = new Date();
const hour = date.getHour();
if(hour < 12) {
alert('오전입니다.');
}
if(hour >= 12) {
alert('오후입니다.');
}
</script>
</body>
if 값이 참이면 오전입니다, 거짓이면 오후입니다를 출력하는게 더 편하지 않을까요? if문을 두 개 쓰려니 코드가 영..
그래서 우리에겐 if~else문이 있습니다!!
if(불 값이 나오는 표현식) {
불 값이 참일 때 실행할 문장
}
else {
불 값이 거짓일 때 실행할 문장
}
if~else문을 사용해 위의 오전과 오후를 구분하는 예제를 만들면
<body>
<script>
const date = new Date();
const hour = date.getHour();
if(hour < 12) alert('오전입니다')
else alert('오후입니다')
</script>
</body>
코드가 훨씬 간결해지고 보기도 쉽죠?
제가 중괄호를 안 적은 이유는 실행할 코드가 한 줄이기 때문입니다!
만약 오전과 오후 뿐만 아니라 아침, 점심, 저녁으로 구분한다면 어떻게 하면 좋을까요?
그래서 우리에겐 if~else if문이 있습니다!
if(불 표현식) {
문장
}
else if(불 표현식) {
문장
}
else if(불 표현식) {
문장
}
else {
문장
}
여러개의 조건을 넣을 수 있습니다! if~else if문을 갖고 아침, 점심, 저녁을 구분하는 예제 만들어봅시다!
<body>
<script>
const date = new Date();
const hour = date.getHour();
if(hour < 11) alert('아침입니다')
else if(hour < 18) alert('점심입니다')
else alert('저녁입니다')
</script>
</body>
if문을 여러 개 사용하지 않아도 됩니다!
Chapter 3-1 마무리 |
1. 다음 예제 중에서 '참입니다'를 출력하는 것은 몇 번일까요? |
③ |
2. 사용자로부터 숫자 2개를 입력받아 첫 번째 입력받은 숫자가 큰지, 두 번째 입력받은 숫자가 큰지를 구하는 프로그램을 다음 빈칸을 채워 완성해보세요. |
<script>
const a = Number(prompt('첫 번째 숫자', ''))
const b = Number(prompt('두 번째 숫자', ''))
if(a > b) {
alert('첫 번째로 입력한 숫자가 더 큽니다.')
}
else if(a == b) {
alert('두 숫자가 같습니다.')
}
else {
alert('두 번째로 입력한 숫자가 더 큽니다.')
}
</script>
|
3. 중첩 조선문은 2장엣 배운 논리ㅣ 연산자를 적용해 하나의 if 조건문으로 만들 수 있습니다. 빈칸에 어떤 논리 연산자가 들어가야 할까요? |
&& |
4. 사용자에게 숫자를 입력받아 양수, 0, 음수를 구분하는 프로그램을 만들어보세요. |
<script>
const a = Number(prompt('숫자를 입력해주세요.', ''))
if(a > 0) alert('입력한 숫자는 양수입니다.')
else if(a == 0) alert('입력한 숫자는 0입니다.')
else alert('입력한 숫자는 음수입니다.')
</script>
|
5. 사용자에게 숫자를 입력받아 홀수와 짝수를 구분하는 프로그램을 만들어보세요. |
<script>
const a = Number(prompt('숫자를 입력해주세요.', ''))
if(a%2 == 0) alert('입력한 숫자는 짝수입니다.')
else alert('입력한 숫자는 홀수입니다.')
</script>
|
6. 현재가 몇 월인지 확인하고, 계절을 구분하는 프로그램을 만들어보세요. |
<script>
const a = Number(prompt('월을 입력해주세요.', ''))
if(a >= 3 && a <= 5) alert('봄입니다.')
else if(a <= 8) alert('여름입니다.')
else if(a <= 11) alert('가을입니다.')
else alert('겨울입니다.')
</script>
|
switch 조건문은 괄호 안에 비교할 값을, case에 괄호 안 비교할 값과 비교할 값을 넣어줍니다.. 무슨 소리지?! 할 수 있지만 예제로 봐봅시다!
<body>
<script>
const a = Number(prompt('숫자를 입력해주세요.', '숫자'))
switch(a % 2) {
case 0 :
alert('짝수입니다.')
break
case 1 :
alert('홀수입니다.')
break
default :
alert('숫자가 아닙니다')
break
}
</script>
</body>
case를 조건문, default를 else, switch를 불 표현식 정도로 생각하면 될 것 같습니다
삼항연산자는 if~else문을 한 줄로 적을 수 있습니다!
불 표현식 ? 참일 떄의 결과 : 거짓일 때의 결과
짧은 조건문은 논리합, 논리곱을 사용하는 것입니다!
논리합 -> true || ~ -> 항상 참이 나옵니다 (우변 실행 X)
논리곱 -> false && ~ -> 항상 거짓이 나옵니다 (우변 실행 X)
Chapter 3-2 마무리 |
1. 다음 코드가 어떤 형태로 실행될지 예측해보세요. |
confirm('버튼을 클릭해주세요') 가 실행 |
2. [누적 예제 : 태ㅓ난 연도를 입력받아 띠 출력하기] 예제에서 if 조건문을 switch 조건문으로 변경해서 구현해보세요. |
<script>
const rawInput = prompt('태어난 해를 입력해주세요.', '')
const year = Number(rawInput)
const e = year % 12
let result
switch(e){
case 0: result = '원숭이'
break
case 1: result = '닭'
break
case 2: result = '개'
break
case 3: result = '돼지'
break
case 4: result = '쥐'
break
case 5: result = '소'
break
case 6: result = '호랑이'
break
case 7: result = '토끼'
break
case 8: result = '용'
break
case 9: result = '뱀'
break
case 10: result = '말'
break
case 11: result = '양'
break
}
alert(`${year}년에 태어났다면 ${result} 띠입니다.`)
</script>
|
3. '태어난 연도를 입력받아 띠 출력하기' 예제에서 동물의 이름을 쥐부터 '자, 축, 인, 묘 ~'로 변경하고, 입력한 연도의 '갑, 을, 병 ~'을 계산합니다. 이 두을 합쳐 다음과 같이 출력하는 프로그램을 만들어보세요. |
<script>
const rawInput = prompt('태어난 해를 입력해주세요.', '')
const year = Number(rawInput)
let 간
let 십간 = '경,신,임,계,갑,을,병,정,무,기'.split(',')
간 = 십간[year%10]
let 띠
let 십이지신 = '신,유,술,해,자,축,인,묘,진,사,오,미'.split(',')
띠 = 십이지신[year%12]
alert(`${year}년은 ${간}${띠} 년입니다.`)
</script>
|
4. 다음 중에서 switch 조건문과 직접적인 관련이 없는 키워드를 고르세요. |
④ |
5. 다음 중에서 다른 실행 결과를 내는 코드를 고르세요. |
③ |
2주차 끝 ~ *^____^*
'혼공스' 카테고리의 다른 글
혼공단 11기 회고록 (1) | 2024.02.05 |
---|---|
혼공스 - 5주차 👍 (1) | 2024.01.29 |
혼공스 - 4주차 ✨ (0) | 2024.01.22 |
혼공스 - 3주차!! (1) | 2024.01.15 |
혼공스 - 1주차! 🤓 (1) | 2024.01.02 |