학이시습
[혼공스] 2주차_조건문 알아보기! 본문
Chapter 3
01. 조건문
조건문을 사용하면 조건에 따라 코드를 실행할 수 있고 실행하지 않을수도 있습니다. 이처럼 코드가 실행되는 흐름을 변경하는 것을 조건 분기라고 합니다.
if 조건문은 조건에 따라서 코드를 실행하거나 실행하지 않을 때 사용하는 구문입니다.
이때 조건은 불 자료형입니다. 비교 연산자와 논리 연산자를 활용해 조건을 만들고, 이 조건을 활용해 조건 분기를 합니다.
if 조건문
자바스크립트에서 가장 일반적인 조건문은 if 조건문입니다. 조건이 true면 중괄호 안의 문장을 실행하고 false면 문장을 무시합니다.
if(불 값이 나오는 표현식) {
불 값이 참일 때 실행할 문장
}
if else 조건문
else 구문은 서로 반대되는 상황을 표현합니다.
else 구문과 if 조건문을 조합한 조건문을 if else 조건문이라고 합니다.
if(불 값이 나오는 표현식){
불 값이 참일 때 실행할 문장
}
else{
불 값이 거짓일 때 실행할 문장
}
중첩 조건문
조건문 안에 조건문을 중첩해 사용하는 것을 충접 조건문이라고 합니다.
if(불 값이 나오는 표현식 1){
불 값이 참일 때 실행할 문장
if(불 값이 나오는 표현식 2) {
2가 참일 때 실행할 문장
}
else{
표현식 2가 거짓일 때 실행할 문장
}
}
확인 문제
1. 다음 예제 중에서 '참입니다.'를 출력하는 것은 몇 번일까요? ③
① <script> const x = 1 if(x > 4) { console.log('참입니다.') } </script> |
② <script> const x = 0 if(x > 4) { console.log('참입니다.') } </script> |
③ <script> const x = 10 if(x > 4) { console.log('참입니다.') } </script> |
2. 사용자로부터 숫자 2개를 입력받아 첫 번째 입력받은 숫자가 큰지, 두 번째 입력받은 숫자가 큰지를 구하는 프로그램을 다음 빈칸을 채워 완성해보세요.
<script>
const a = _____(prompt('첫 번째 숫자', ''))
const b = _____(prompt('두 번째 숫자', ''))
if(_____) {
alert('첫 번째로 입력한 숫자가 더 큽니다.')
}
else if(_____) {
alert('두 숫자가 같습니다.')
}
else {
alert('두 번째로 입력한 숫자가 더 큽니다.')
}
</script>
Number Number a > b a === b |
3. 중첩 조건문은 2장에서 배운 논리 연산자를 적용해 하나의 if 조건문으로 만들 수 있습니다. 빈칸에 어떤 논리 연산자가 들어가야 할까요?
if(x > 10){
if(x < 20){
console.log('조건에 맞습니다.')
{
}
if(x > 10 _____ x < 20) {
console.log('조건에 맞습니다.')
}
&& |
4. 사용자에게 숫자를 입력받아 양수, 0, 음수를 구분하는 프로그램을 만들어보세요.
<script>
const a = Number(prompt('숫자를 입력해주세요.'))
if(a < 0) {
alert('입력한 숫자는 음수입니다.')
}
else if(a > 0) {
alert('입력한 숫자는 양수입니다.')
}
else {
alert('입력한 숫자는 0입니다.')
}
</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 >= 6 && a <= 8) {
alert('여름입니다.')
}
else if(a >= 9 && a <= 11) {
alert('기을입니다.')
}
else if(a == 1 || a == 2 || a == 12) {
alert('겨울입니다.')
}
</script>
02. switch 조건문과 짧은 조건문
switch 조건문
switch 조건문은 특정 값의 조건을 비교할 때 사용합니다.
switch 조건문의 기본 형태 ↓ default 키워드는 생략할 수 있습니다.
switch(자료) {
case 조건A:
break
case 조건B:
break
default:
break
}
break 키워드는 switch 조건문이나 반복문을 빠져나가기 위해 사용하는 키워드입니다.
switch 조건문을 if 조건문으로 변환하기
모든 switch 조건문은 if 조건문으로 바꿀 수 있지만 범위를 조건으로 가지는 if 조건문은 switch 조건문으로 대처하긴 어렵습니다. 그러나 전혀 불가능한 것은 아닙니다.
조건문 연산자
자바스크립트에는 조건문과 비슷한 역할을 하는 조건부 연산자가 있습니다.
불 표현식 ? 참일 때의 결과 : 거짓일 때의 결과
자바스크립트에서 항을 3개 갖는 연산자는 조건부 연산자가 유일해서 삼항 연산자라고도 합니다.
짧은 조건문
짧은 조건문은 논리 연산자의 특성을 조건문으로 사용하는 것입니다.
논리합 연산자를 사용한 짧은 조건문
불 표현식 || 불 표현식이 거짓을 때 실행할 문장
논리곱 연산자를 사용한 짧은 조건문
불 표현식 && 불 표현식이 참일 때 실행할 문장
확인 문제
1. 다음 코드가 어떤 형태로 실행될지 예측해보세요.
<script>
const result = (100 > 200) ? prompt('값을 입력해주세요.', '') : confirm('버튼을 클릭해주세요')
alert(result)
</script>
100 > 200이 false이므로 confirm이 활성화 될 것입니다. |
2. [누적 예제: 태어난 연도를 입력받아 띠 출력하기] 예제(152쪽)에서 if 조건문을 switch 조건문으로 변경해서 구현해보세요.
<script>
const rawIntput = prompt('태어난 해를 입력해주세요.', '')
const year = Number(rawIntput)
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 10:
result = '양'; break
}
alert(`${year}년에 때어났다면 ${result} 띠입니다.`)
</script>
3. '태어난 연도를 입려받아 띠 출력하기' 예제(152쪽)에서 동물 이름을 쥐부터 '자, 축, 인, 묘, 진, 사, 오, 미, 신, 유, 술, 해'로 변경하고, 입력한 연도의 '갑, 을, 병, 정, 무, 기, 경,, 신, 임, 계'를 계산합니다. 이 둘을 합쳐 다음과 같이 출력하는 프로그램을 만들어보세요.
<script>
const rawIntput = prompt('태어난 해를 입력해주세요.', '')
const year = Number(rawIntput)
let 간
let e = year % 10
if (e === 0) { 간 = '경'}
else if(e === 1) { 간 = '신'}
else if(e === 2) { 간 = '임'}
else if(e === 3) { 간 = '계'}
else if(e === 4) { 간 = '갑'}
else if(e === 5) { 간 = '을'}
else if(e === 6) { 간 = '병'}
else if(e === 7) { 간 = '정'}
else if(e === 8) { 간 = '무'}
else if(e === 9) { 간 = '기'}
let 띠
let gan = year % 12
if (gan === 0) { 띠 = '신'}
else if(gan === 1) { 띠 = '유'}
else if(gan === 2) { 띠 = '술'}
else if(gan === 3) { 띠 = '해'}
else if(gan === 4) { 띠 = '자'}
else if(gan === 5) { 띠 = '축'}
else if(gan === 6) { 띠 = '인'}
else if(gan === 7) { 띠 = '묘'}
else if(gan === 8) { 띠 = '진'}
else if(gan === 9) { 띠 = '사'}
else if(gan === 10) { 띠 = '오'}
else if(gan === 11) { 띠 = '미'}
alert(`${year}년은 ${간}${띠} 년입니다.`)
</script>
선택 미션
'혼공학습단 > 혼공스' 카테고리의 다른 글
[혼공스] 5주차_객체 알아보기 (0) | 2024.02.04 |
---|---|
[혼공스] 4주차_함수 알아보기 (2) | 2024.01.29 |
[혼공스] 3주차_배열과 반복문 알아보기 (1) | 2024.01.21 |
[혼공스] 1주차_자료형 알아보기 (1) | 2024.01.11 |
[혼공스] 1주차_자바스크립트 알아보기 (0) | 2024.01.07 |