본문 바로가기

JavaScript & JQuery

JavaScript(4)

제어문

  • 조건문 : if ~ else문 
  • 반복문 : fot. while, do ~ while, for in
  • 분기문 : break, continue

조건문

조건문의 종류 

1. if문

<h1>조건문</h1>
    <h2>if ~ else문</h2>
    <p>
        조건식의 결과값이 true이면 if 뒤 내용 실행 <br>
        조건식의 결과값이 false이면 else 뒤 내용 실행
    </p>
    <script>
        const conditionNum = 5
        if(conditionNum > 0) <- 조건식1
            console.log('양수입니다.'); <-수행될 문장;
        } <- 조건식의 결과 값이 true면 console.log안의 내용 실행 false면 실행되지 않음
        if(conditionNum > 0){
            console.log('양수!!');
        } else {
            console.log('음수~');
        }
        if(conditionNum %2 ===0){
            console.log('짝수입니다.');
        } else {
            console.log('홀수입니다.');
        }
    </script>
 
<h2>if~ else if ~ else문</h2>
    <script>
        let elseifNum = 0;
        if(elseifNum > 0){  <- 조건 1
            console.log('양수입니다.'); true면 안에 내용 실행
        } else if(elseifNum < 0){   <- 조건2
            console.log('음수입니다.'); true면 안에 내용 실행
        } else{
            console.log('0입니다.'); <- 조건 1과 2내용이 false면 안에 내용실행
        }
    </script>
 
<h1>중첩 if문</h1>
    <p>if문이 겹쳐 있는 것</p>
    <script>
        let doubleNum = 4
        if(doubleNum > 0){ <-조건1
            console.log("양수입니다."); 
        if(doubleNum %2 === 0){ <-조건2
            console.log("양수이면서 짝수군!!"); 
        if(doubleNum === 4){ <- 조건3
            console.log("양수이면서, 짝수고, 그중에서도 4군!"
                }
            }
        }   else if(doubleNum < 0){
            console.log("음수"); 
            if(doubleNum % 2 === 0
            {
                console.log("음수이면서 짝수!");
            }
        }   else{
            console.log("0입니다");
        }
    </script>

2. switch

조건식 하나로 많은 경우의 수를 처리할 때 사용하며 이때 조건식의 결과는 정수 또는 문자, 문자열 

조건식의 결과 값과 일치하는 case문으로 이동 default문은 일치하는 case문이 없을 때 수행 (=else)

<h1>switch문</h1>
    <p>
        하나의 기준으로 처리해야할 경우의 수가 여러가지 일 때 사용
    </p>
    <script>
        let str = "복숭아";

        if(str === "수박"){
            console.log("39000원");
        } else if(str === "산딸기") {
            console.log("21310원");
        } else if (str === "복숭아") {
            console.log("11900원")
        } else if (str === "초록사과"){
            console.log("12900원")
        } else{
            console.log("알수없는 과일입니다");
        }

        switch(str){
            case "수박" : console.log("39000원"); break;
            case "산딸기" : console.log("21310원"); break;
            default : console.log("알수없는 과일입니다."); break;
        }
    </script>

3.삼항 연산자

예시

  • let result_1 = a > b ? ++a : --b;
  • let result_2 = a < b ? ++a : ( b == 0 ? --a : ++b);
<h2>삼항 연산자</h2>
    <p>
        조건식 ? 식1 : 식2;
        조건식의 결과 값에 따라 연산을 처리하는 방식
        결과 값이 참인 경우 첫번째 식, 거짓인 경우 두번째 식2을 수행
    </p>
    <script>
        // 수박 4~6kg
        let weight = 5;
        let msg = weight > 6 ? "와 대형수박!!" : "작고 소중한 수박";

        if(weight > 6){
            msg = "와 대형 수박";
        } else {
            msg = "작고 소중한 수박";
        }
        console.log(msg);

        let result = 1 > 2? 3 : 4;
        let a;
        let b;
        let result2 = a < b ? ++a : (b== 0 ? --a : ++b);
        // a < b 따로 ++a 따로 (b==0 ? --a : ++b) 구별해야한다
 
 <script>
        function coffePlz(){
            let pri = document.getElementById("price").value;
            pri = parseInt(pri);
            let msg = pri >=2500 ? "거스름돈은 :" +(pri-2500) : '아메리카노는 2500원입니다.';
            alert(msg);  
        }
            // let result3 = pri > 2500 ? pri - 2500 : "아메리카노는 2500원입니다"
            // console.log(result3);
    </script>

반복문

특정 문장들을 반복해서 수행하도록함

반복문의 종류

1. for문

<h1>반복문</h1>
    <p>
        조건문이 컴퓨터를 똑똑하게 한다면,
        반복문은 컴퓨터를 강하게 합니다.
    </p>
    <h2>안녕하세요!!</h2>
    <h2>안녕하세요!!</h2>
    <h2>안녕하세요!!</h2>
    <h2>안녕하세요!!</h2>
    <h2>안녕하세요!!</h2>
    <h2>안녕하세요!!</h2>
    <h2>안녕하세요!!</h2>
    <h2>안녕하세요!!</h2>
    <h2>안녕하세요!!</h2>
    <h2>안녕하세요!!</h2>
    <script>
        //  for(초기식; 조건식; 증감식){ <- 초기식,증감식 확인 후 조건식 확인 true면 수행 false면 수행하지 않음
        //     수행될 문장; <- 조건식이 false가 나올때까지 문장 수
        // }
        for(let i = 0 ; i < 10 ; i++){
            document.write("<h2>안녕하세요</h2>")
        }
    </script>
<h1>반복문 예제1</h1>
    <input type="number" id="greeting_num"/>
    <input type="button" value="인사성이 밝다!" onclick="sayHi();"/>
    <script>
        function sayHi(){
            let number_3 = document.getElementById("greeting_num").value;
            for(let i = 0 ; i < number_3 ; i++){
                document.write("<h1>Hello</h1>");
            }
        }
    </script>
 
    <h2>중첩 반복문</h2>
    <p>for안에 for가 있다!!</p>
    <script>
        for(let i = 0 ; i < 2 ; i++){
            console.log(1);
            for(let j = 0 ; j < 3 ; j++){
                console.log(2);
            }
            console.log(3);
        }
    // for문에 진입하면 수행될 문장1을 먼저 수행하고
   // 두번째 for문제 진입하면 조건식2가 false가 될때까지 수행될 문장2를 수행
   // 두번째 for문에서 나오면 문장 3을 수행하고 조건1로 돌아와 true면 반복
    </script>
 
    <h2>중첩 반복문 예제1</h2>
    <input type="number" id="CGC_set"/>
    <input type="button" onclick="CGC();"/> <!--id ='cgc_btn'-->
    <img src="/음료.png">
    <img src="/팝콘.png">
    <script>
        // document.getElementById('cgc_btn').onclick = function(){
        //     const num = document.getElementById("CGC_set").value;// }
        function CGC(){
            let combo = document.getElementById("CGC_set").value;
            // for문제 진입 수행될 문장1을 먼저 수행
         for(let popcorn = 0 ; popcorn < combo ; popcorn++){
             document.write('<img src="/팝콘.png">');
            //두번째 for문 진입 조건식 2가 false가 될때까지 문장2수행
             for(let drink = 0 ; drink < 3  ; drink++){
                //if(drink === 1) continue;
                document.write('<img src="/음료.png">');
            // -> 버튼을 한번 누를때 팝콘1개와 음료수 3개가 나옴
           }
         }
        }
    </script>
    <h1>분기문 : break</h1>
    <script>
        // for (초기값1; 조건식1;증감식1){
        //     수행될 문장1;
        //     for(초기값2; 조건식2; 증감식2){
        //         수행될 문장;
        //         break;
        //     }
        //     수행될 문장;
        //     [break];
        // } 두번째 for문제 break를 만난 경우 반복문을 나가 수행될 문장3을 수행후
        // 다시 첫 번째 for문을 실행하지만 마지막 break가 있다면 문장3을 수행후 for문을 빠져나감
        console.log();
         for(let i = 0 ; i < 2 ; i++){
            console.log(1);
            for(let j = 0 ; j < 3 ; j++){
                console.log(2);
                break;
            }
            console.log(3);
        }

        console.log();
         for(let i = 0 ; i < 2 ; i++){
            console.log(1);
            for(let j = 0 ; j < 3 ; j++){
                console.log(2);
            }
            console.log(3);
            break;
        }
    </script>

2. while문

<h1>while문</h1>
    <p>
        for문 : 나는 오늘 2km를 뛸거야 (횟수가 정해져있을 때) <br>
        while문 : 나는 심장이 터질때까지 뛸거야 (종료시점이 정해져있을 때)
    </p>
    <script>
        // while(조건식){
        //     수행될 문장;
        //     [증감식 or 분기문];
        // }
        // 조건식이 true일때 문장 수행. 문장 수행이 끝나면 조건식 다시 확인 후 true수행,
        // 조건식이 false가 될 때까지 수행 조건식이 false가 되면 반복문 종료
            console.log('===================while1=============');
        let while1 = 10;
        while(while1 >= 0){
            console.log(while1);
            while1 = while1-1;
        }
        console.log('===================while2=============');
        let while2 = 10;
        while(while2 >= 0){
            console.log(while2);
            while2 = while2-1;
            if(while2 === 5){
                break;
            }
        }
        // 변수를 선언하고, 변수에 0을 할당
        // 변수가 200보다 작을때
        // console창에 변수의 값을 출력해주세요
        // 변수는 10만큼 커지도록 해주세요
        console.log('===================while3=============');
        let while3 = 0;
        while(while3 <= 200){
            if(while3 === 200){
                console.log('마지막');
                break;
            }
            console.log(while3);
            while3 = while3+10;
        }
        // for(let i = 0 ; i <= 200;){
        //     console.log(i);
        //     i = i+10;
        // }
    </script>
 
<h1>do ~ while</h1>
do 안의 내용은 먼저 실행 조건식 확인 후 true면 문장 수행, false면 종료 while 뒤에 ; 꼭 필요
do ~ while은 조건문이 true가 아디너라도 무조건 한 번 이상 수행 {}안에 조건을 벗어나게 할 연산 (증감식, 분기문)필요
    <script>
        // while문을 사용한 경우
        let count1 = 10;
        while(0 < count1 && count1 < 10){
            console.log('출력1');
            count1--;
        }
        // do while문을 사용한 경우
        let count2 = 10;
        do{
            console.log('출력2');
            count2--;
        } while(0 < count2 && count2 < 10);
do를 사용해서 일단 한번은 내려간다 count2가 있으므로 차감된다
0<에서10사의 숫자 즉 1~9 + do 총 출력2가 10번 나온다
    </script>

3.분기문

<h1>분기문</h1>
    <p>
        break : 반복문을 멈추고 싶을때, 반복문을 빠져나오고 싶을때<br>
        continue : 반복문 실행시 continue 아래 부분은 실행하지 않고
                    반복문을 다시 실행
    </p>
    <script>
        for(let f = 1; f <=10 ; f++){
            if(f % 2 ===0) continue;
            // 한줄 옆에 쓴건 중괄호 안써도 되긴함 continue 옆에 조건에 부합하면 아래 실행 안함
            console.log(f+":출력");
        }
    </script>

'JavaScript & JQuery' 카테고리의 다른 글

JavaScript(6)  (0) 2023.08.27
JavaScript(5)  (0) 2023.08.27
JavaScript(3)  (2) 2023.08.27
JavaScript(2)  (0) 2023.08.26
JavaScript(1)  (0) 2023.08.24