关于Switch结构利用

三大流程结构,循环、分支、if ,循环与条件选择结构用的比较多,而swicth用的比较少,swicth可以用if代替,只不过麻烦,最终都能实现输入和输出的条件对应

    Swicth利用

        1.通常swicth使用的情况

switch(n){
            case 1:
            执行语句;
            break;
            case 2:
            执行语句
            .
            .
            .
            break;
            default:
            执行语句;
        }

         

         2.由于swicth语句 先n匹配case后面的值,匹配成功后,从对应的执行语句处开始执行,按顺序向下执行,直到遇到break或者swicth的结束},以前学c语音时候只是在做题目时候防着它的这个特点,一旦漏写break,运行结果天壤之别.以前思维局限了,其实利用它可以归纳选择那些不同输入相同输出的情况,例如下面这个demo:判断某个日期是这一年的多少天,相比用if写,结构清晰,代码更加简单.大笑

function calDate(){
                var year=Number(prompt("输入年"));
                var month=Number(prompt("输入月"));
                var day=Number(prompt("输入day"));
                var sum=0,j,k;
                isRun=(year%4==0&&year%100!=0)||(year%400==0);//判断闰年
                if(isRun)
                {
                    k=29;
                }
                else
                {
                    k=28; 
                }
                for(var i=month-1;i>0;i--)
                    {    switch(i){
                            case 1:case 3:case 5:case 7:case 8:case 10:  //归纳31天的月
                                 j=31;
                            break;
                            case 2:
                            j=k;
                            break;
                            case 4:case 6:case 11:case 9:
                            j=30;
                           break;
                            default: 输入有误;
                        }    
                        sum+=j;
                }
                    sum+=day;
                    alert("第"+year+"年"+m+"天");
            }
              calDate();
posted on 2016-09-27 20:01  godbutton  阅读(291)  评论(0编辑  收藏  举报