zoukankan      html  css  js  c++  java
  • switch的穿透

      // switch 的 穿透
            // 什么是switch的穿透
            // 如果在 switch 中没有定义break , switch 会从定位的程序,一直执行到所有switch程序的结束
            // 这种现象称为switch的穿透
            // 效果是,从定位的程序位置,穿透所有的case和default,执行之后所有的程序
            // 一般情况下,我们杜绝switch的穿透这样的现象的出现
            // 但是在特殊情况下,我们还是可以灵活使用switch的穿透,优化代码
         
         
            // switch穿透的小应用

            // 随机生成 1-12 的月份,通过程序,输出这个月有多少天
            // 暂时不考虑闰年的情况

            // 1,3,5,7,8,10,12月是31天
            // 4,6,9,11月是30天
            // 2月是28天

            var month = parseInt(Math.random() * (15 + 1 - 1) + 1);

            // 使用if判断来写
            if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {
                console.log(`现在是${month}月,本月有31天`);
            } else if (month == 4 || month == 6 || month == 9 || month == 11) {
                console.log(`现在是${month}月,本月有30天`);
            } else if (month == 2) {
                console.log(`现在是${month}月,平年有28天,闰年有29天`);
            } else {
                console.log(`现在是${month}月,地球上就12个月,您是外星人吧`);
            }


            // 当前是判断是否是某个具体的月份数值,这样的比较判断,更使用使用switch来定义
            // 利用穿透来优化switch语句
            // 1,3,5,7,8,10,12 时,执行的程序都是完全相同的
            // 可以利用 switch 的穿透,来优化程序
            // 思路: 当数值是这些数值内容的时,没有break,直接执行穿透效果,最终都执行相同的程序
            // 方法: 之前不定义要执行的程序,只在最后一种情况中,定义执行程序和break

            switch (month) {
                case 1:
                case 3:
                case 5:
                case 7:
                case 8:
                case 10:
                case 12:
                    console.log(`现在是${month}月,本月有31天`);
                    break;

                case 4:
                case 6:
                case 9:
                case 11:
                    console.log(`现在是${month}月,本月有30天`);
                    break;

                case 2:
                    console.log(`现在是${month}月,平年有28天,闰年有29天`);
                    break;
                    
                default:
                    console.log(`现在是${month}月,地球上就12个月,您是外星人吧`);
                    break;
            }
    右侧打赏一下 代码改变世界一块二块也是爱
  • 相关阅读:
    swjtu oj Paint Box 第二类斯特林数
    B -- RE:从零开始的异世界生活 线段树
    EOJ Problem #3261 分词 trie + dp + 小剪枝
    129. 笔芯值
    F. Coprime Subsequences 莫比乌斯反演
    F. Clique in the Divisibility Graph DP
    D. Restructuring Company 并查集 + 维护一个区间技巧
    scut 125. 笔芯回文
    几个链接
    位处理的低级筛法
  • 原文地址:https://www.cnblogs.com/ht955/p/14021465.html
Copyright © 2011-2022 走看看