Language/JavaScript

Chapter 03 조건문 - 중첩 조건문과 if else if 조건문

구일일구 2023. 3. 26. 19:30
반응형

3.3 중첩 조건문과 if else if 조건문

▲ 중첩 조건문의 형태 : 조건문 안에 조건문을 중첩해 사용하면 이를 중첩 조건문이라고 표현함

if (불리언 표현식){
    if (불리언 표현식){
        문장
    } else {
        문장
    }
} else {
    if (불리언 표현식){
        문장
    } else {
        문장
    }
}

 

▲ if else if 조건문의 형태:  겹치지 않는 세 가지 이상의 조건을 나눌 때에 사용

if (불리언 표현식){
    문장
} else if (불리언 표현식){
    문장
} else if (불리언 표현식){
    문장
} else {
    문장
}

 

 

코드 3-4.  중첩 조건문

<script>
    //변수 선언
    var date = new Date();
    var hour = date.getHours();

    //조건문
    if(hour < 11){
        alert('아침 먹을 시간입니다.');
    } else{
        if(hour < 15){
            alert('점심 먹을 시간입니다.');
        } else{
            alert('저녁 먹을 시간입니다.');
        }
    }
</script>

<코드 설명> 오전, 오후가 아니라 아침, 점심, 저녁 시간대로 나눠 출력한다면 중첩 조건문을 사용할 수 있음.

 

코드 3-5.  if else if 조건문

<script>
    //변수 선언
    var date = new Date();
    var hour = date.getHours();

    //조건문
    if(hour < 11){
        alert('아침 먹을 시간입니다.');
    } else if(hour < 15){
        alert('점심 먹을 시간입니다.');
    } else{
        alert('저녁 먹을 시간입니다.');
    }
</script>

<코드 설명> 중첩 조건문을 if - else if 조건문으로 변경함

 

연습 1.  사용자에게 숫자를 입력받아 양수, 0, 음수를 구분하는 프로그램

<script>
    //변수 선언
    var input = prompt('숫자를 입력해주세요', '숫자');
    var numberInput = Number(input);

    if(numberInput == 0){
        alert('0입니다.');
    } else if(numberInput > 0){
        alert('양수입니다.');
    } else{
        alert('음수입니다.');
    }
</script>

<코드 설명> prompt() 함수로 받은 숫자는 언제나 문자열로 받아지기 때문에, Number() 함수를 사용하여 이 문자열을 숫자로 바꿔준다. 받은 숫자가 0보다 크다면 양수를, 0과 같다면 0을, 0보다 작다면 음수를 출력함

 

연습 2.  사용자에게 숫자를 입력받아 홀수와 짝수를 구분하는 프로그램

<script>
    //변수 선언
    var input = prompt('숫자를 입력해주세요', '숫자');
    var numberInput = Number(input);

    if(numberInput % 2 == 0){
        alert('짝수입니다.');
    } else{
        alert('홀수입니다.');
    }
</script>

<코드 설명> 받은 숫자를 2로 나누어서 나머지가 0이라면 언제나 짝수이고, 0이 아니라면 언제나 홀수이다.

 

연습 3.  사용자에게 국어, 영어, 수학 점수를 입력받아 평균을 구한 뒤 수우미양가를 구분하는 프로그램

<script>
    //변수 선언
    var korNum = Number(prompt('국어 점수는?', '국어'));
    var engNum = Number(prompt('영어 점수는?', '영어'));
    var mathNum = Number(prompt('수학 점수는?', '수학'));

    var average = (korNum + engNum + mathNum) / 3;
    
    if(average == 4.5){
        alert('수');
    } else if(4.0 <= average && average < 4.5){
        alert('우');
    } else if(3.5 <= average && average < 4.0){
        alert('미');
    } else if(3.0 <= average && average < 3.5){
        alert('양');
    } else {
        alert('가');
    } 
</script>

<코드 설명> 받은 세 학점을 더해서 3으로 나눈것을 average 변수로 저장한 후, 이를 비교하여 수우미양가로 구분.

반응형