switch case多分支语句实现案例

代码样式

<script>
        //注意区分这两组switch case多分支语句
        switch (值) {
            case '1':
                // 这里可以写很多行代码
                break;
            case '2':
                // 这里可以写很多行代码
                break;
            case '3':
                // 这里可以写很多行代码
                break;
            default:
                //这里写默认执行的代码,即前面代码都不能执行时才执行的
        }
        switch (值) {
            case 1:
                // 这里可以写很多行代码
                break;
            case 2:
                // 这里可以写很多行代码
                break;
            case 3:
                // 这里可以写很多行代码
                break;
            default:
                //这里写默认执行的代码,即前面代码都不能执行时才执行的
        }
    </script>

(1)第一组switch case多分支语句中,switch()中的值是字符串;第二组switch case多分支语句中,switch()中的值是number。
注:在使用switch case多分支语句时,switch()中的值必须与case后的值保持全等,即值的内容与类型都必须相等。
(2)当switch()中的值与某一个case后的值全等时,则执行该case后的代码,代码执行完毕,关键字break结束整个switch case多分支语句;若没有一个case后的值与switch()中的值全等时,则执行default中的代码。

案例实现

(1)输入任意字符,判断是星期几
注意观察以下两种switch case后的值
第一种是数字,num % 7后隐式转换成数字

<script>
        var num = prompt("");
        switch (num % 7) {
            case 1:
                console.log("星期一");
                break;
            case 2:
                console.log("星期二");
                break;
            case 3:
                console.log("星期三");
                break;
            case 4:
                console.log("星期四");
                break;
            case 5:
                console.log("星期五");
                break;
            case 6:
                console.log("星期六");
                break;
            case 0:
                console.log("星期日");
                break;
            default:
                console.log("请输入数字");
        }
    </script>

控制台查看:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
第二种是字符

<script>
        var num = prompt("");
        switch (String(num % 7)) {
            case "1":
                console.log("星期一");
                break;
            case "2":
                console.log("星期二");
                break;
            case "3":
                console.log("星期三");
                break;
            case "4":
                console.log("星期四");
                break;
            case "5":
                console.log("星期五");
                break;
            case "6":
                console.log("星期六");
                break;
            case "0":
                console.log("星期日");
                break;
            default:
        }
    </script>

(2)石头剪刀布的游戏实现:1代表石头 2代表剪刀 3代表 布;parseInt(Math.random()*3) + 1 随机生成123的公式

<script>
        // 计算机随机生成一个数
        var num = parseInt(Math.random() * 3) + 1
        var myNum = Number(prompt('输入1-3: 1代表石头 2代表剪刀 3代表 布'))
        switch (num) {
            case 1:
                // 继续判断玩家的数
                switch (myNum) {
                    case 1:
                        console.log('平局')
                        break
                    case 2:
                        console.log('输了')
                        break
                    case 3:
                        console.log('赢了')
                        break

                }
                break
            case 2:
                // 继续判断玩家的数
                switch (myNum) {
                    case 1:
                        console.log('赢了')
                        break
                    case 2:
                        console.log('平局')
                        break
                    case 3:
                        console.log('输了')
                        break
                }
                break
            case 3:
                // 继续判断玩家的数
                switch (myNum) {
                    case 1:
                        console.log('输了')
                        break
                    case 2:
                        console.log('赢了')
                        break
                    case 3:
                        console.log('平局')
                        break
                }
                break
        }
    </script>

控制台查看:
在这里插入图片描述
在这里插入图片描述

case穿透性

当某一case后没有写break时,这一case及之后的代码将都会执行。

case穿透性案例

(1)小案例

<script>
        var num = Number(prompt('输入1-3之间的数: '));
        switch (num) {
            case 1:
                console.log('1314');
                break;
            case 2:
                console.log('1315');
            case 3:
                console.log('1316');
            default:
                console.log("输错数要打屁股!");
        }
    </script>

控制台查看:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
观察控制台截图可知,case 1后的代码中有break,故输入数字1时,控制台只会输出case 1中的代码;当输入数字2时,由于case 2与case 3中都没有break,故case 2及之后的代码都会执行。
(2)判断每个月有多少天

<script>
        var month = Number(prompt('输入1-12之间的数: '));
        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 + '月有' + '29天');
                break;
            default:
                console.log("输错数要打屁股!");
        }

由于case的穿透性,当你输入1、3、5、7、8、10、12时,控制台都会显示有31天,当你输入4、6、9、11时,控制台都会显示有30天。

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在C语言中,`switch` case分支语句是一种用于根据不同的条件执行不同代码块的控制结构。它允许您根据一个变量的值选择执行不同的代码块。 下面是`switch` case分支语句的基本语法: ```c switch (expression) { case constant-1 : // 代码块 1 break; case constant-2 : // 代码块 2 break; ... default : // 默认代码块 } ``` 在上面的语法中,`expression`是一个表达式,它的值将被与`case`后面的常量进行比较。如果表达式的值与某个`case`后面的常量相匹配,那么就会执行该`case`后面的代码块。如果没有匹配的`case`,就会执行`default`代码块(如果有的话)。每个`case`后面可以有一个或多个代码块,它们按顺序执行,直到遇到`break`语句为止。 下面是一个简单的示例,演示了如何使用`switch` case分支语句: ```c #include <stdio.h> int main() { int day = 3; switch (day) { case 1: printf("Monday\n"); break; case 2: printf("Tuesday\n"); break; case 3: printf("Wednesday\n"); break; default: printf("Invalid day\n"); } return 0; } ``` 在上面的示例中,变量`day`的值是3。根据它的值,程序将执行与常量3对应的代码块,即输出"Wednesday"。如果没有匹配的常量,程序将执行默认代码块(如果有的话)。在这个例子中,没有使用`break`语句,因此程序将继续执行下一个`case`后面的代码块。 需要注意的是,每个`case`后面必须有一个`break`语句,否则程序将继续执行下一个`case`后面的代码块,直到遇到`break`语句为止。如果没有使用`break`语句,程序可能会进入无限循环。另外,每个`case`后面的代码块必须以分号结束。 希望这可以帮助您理解如何在C语言中使用`switch` case分支语句

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值