switch语句

在这里插入图片描述

作用

让顺序执行的代码,产生分支。

基本语法

switch(变量)
{
	//变量 == 常量 执行 case和 break之间的代码
 	case 常量:
		满足条件执行的代码逻辑;
		break;
	case 常量:
		满足条件执行的代码逻辑;
		break;
	//case 可以有无数个
	default:
		//如果上面case的条件都不满足 就会执行 default中的代码
		break;
}

注意:
1.常量,只能写一个值,不能去写一个范围,不能写条件运算符,逻辑运算符。
2.switch只判断变量是否等于某一个固定值。

int a = 3;
int a2 = 3;
switch (a)
{
    //这个条件一定是常量
    case 1:
        Console.WriteLine("a等于1");
        break;
    case 2:
        Console.WriteLine("a等于2");
        break;
    case 3:
        Console.WriteLine("a等于3");
        break;
    default:
        Console.WriteLine("什么条件都不满足,执行default中的内容");
        break;
}

float f = 1.4f;
//它一般是配合枚举使用
switch (f)
{
    case 1.5f:
        Console.WriteLine("f等于1.5");
        break;
    case 1:
        Console.WriteLine("f等于1.5");
        break;
    default:
        Console.WriteLine("f什么条件都不满足,执行default中的内容");
        break;
}

defult可省略

string str = "123";
switch (str)
{
    case "123":
        Console.WriteLine("等于123");
        break;
    case "234":
        Console.WriteLine("等于234");
        break;

}

可自定义常量

常量:
1.必须初始化
2.不能修改

char c = 'A';
const char c2 = 'A';
switch (c)
{
    case c2:
        Console.WriteLine("c等于A");
        break;
    default:
        break;
}

贯穿

作用:满足某些条件时,做的事情是一样的,就可以使用贯穿。

int aa = 1;
switch (aa)
{
    // 不写case后面配对的break 就叫做贯穿
    // 满足 1 3 4 2其中一个条件 就会执行 之后的代码
    case 1:
    case 3:
    case 4:
    case 2:
        // case和break之间可以写n句语句
        // 并且可以嵌套使用 
        Console.WriteLine("是个数字");
        Console.WriteLine("是个数字");
        Console.WriteLine("是个数字");
        Console.WriteLine("是个数字");
        Console.WriteLine("是个数字");
        Console.WriteLine("是个数字");
        Console.WriteLine("是个数字");
        if( aa == 1 )
        {
            switch(aa)
            {
                default:
                    break;
            }
        }
        else
        {

        }
        break;
    default:
        break;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/666924.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

sqlite--SQL语句进阶

SQL语句进阶 函数和聚合 函数: SQL 语句支持利用函数来处理数据, 函数一般是在数据上执行的, 它给数据的转换和处理提供了方便常用的文本处理函数: 常用的文本处理函数: // 返回字符串的长度 length();//将字符串…

【阿里云】在云服务器ECS 安装MySQL、本地远程连接或宝塔连接(手动部署)

目录 一、安装MySQL 二、配置MySQL 三、远程访问MySQL数据库 四、Navicat本地连接远程MySQL 五、宝塔连接MySQL 如果你是使用宝塔安装的MySQL请绕过,以下是通过命令行模式(手动部署)进行安装、配置及运行。 安装:MySQL8.0 …

C#WPF数字大屏项目实战02--主窗体布局

1、主窗体起始属性 设置有关属性如下: WindowStyle"None"-》无边框 AllowsTransparency"True" -》允许透明 WindowStartupLocation"CenterScreen"-》启动时位于屏幕中间 FontFamily"Microsoft YaHei"-》字体微软雅黑 …

更新mirh connect 内置derby数据库密码

更新mirh connect 内置derby数据库密码 1、下载derby连接客户端 https://archive.apache.org/dist/db/derby/ 选择任意版本即可,比如 https://archive.apache.org/dist/db/derby/db-derby-10.14.2.0/db-derby-10.14.2.0-bin.zip 2、连接mirh文件数据库 1、把mi…

Linux主机安全可视化运维(免费方案)

本文介绍如何使用免费的主机安全软件,在自有机房或企业网络实现对Linux系统进行可视化“主机安全”管理。 一、适用对象 本文适用于个人或企业内的Linux服务器运维场景,实现免费、高效、可视化的主机安全管理。提前发现主机存在的安全风险,全方位实时监控主机运行时入侵事…

单片机原理及应用复习

单片机原理及应用 第二章 在AT89S52单片机中,如果采用6MHz晶振,一个机器周期为 2us 。 时钟周期Tocs1focs 机器周期 Tcy12focs 指令周期:一条指令所用的时间,单字和双字节指令一般为单机器周期和双机器周期。 AT89S5…

深色系的B端界面,特定场景非常适合。

深色系B端界面有以下几个好处: 提供更好的可读性:深色背景可以提供更高的对比度,使文字和图标更加清晰易读,尤其在低光环境下或者长时间使用的情况下,可以减少眼睛的疲劳。强调重要内容:深色背景可以使重要…

第 11 章 排序

第 11 章 排序 Abstract 排序犹如一把将混乱变为秩序的魔法钥匙,使我们能以更高效的方式理解与处理数据。 无论是简单的升序,还是复杂的分类排列,排序都向我们展示了数据的和谐美感。 本章内容 11.1 排序算法11.2 选择排序11.3 冒…

EitbaseEX香港业务开展,提升用户友好交易体验

在全球范围内备受瞩目的加密货币交易平台Coinbase,宣布正式入驻香港市场,并命名为EitbaseEX。这一战略性扩展举措,旨在为香港提供先进的加密货币交易技术和服务,同时将香港打造为其在亚太地区的重要枢纽。 作为国际金融中心&#…

基于云服务器使用DreamBooth训练主体

资源整理 参考教程:StableDiffusion/NAI DreamBooth自训练全教程 - 知乎 (zhihu.com) 云服务器平台:AutoDL算力云 | 弹性、好用、省钱。租GPU就上AutoDL 镜像链接:CrazyBoyM/dreambooth-for-diffusion/dreambooth-for-diffusion、 代码仓…

[Linux]vsftp配置大全---超完整版

[Linux]vsftp配置大全---超完整版 以下文章介绍Liunx 环境下vsftpd的三种实现方法 一、前言 Vsftp(Very Secure FTP)是一种在Unix/Linux中非常安全且快速稳定的FTP服务器,目前已经被许多大型站点所采用,如ftp.redhat.com,ftp.kde.org,ftp.gnome.org.等。…

Ubuntu20.04 Mysql基本操作知识

#Mysql基本知识 运行环境Ubuntu20.04 1.开启mysql服务 sytemctl start mysql不然,命令行进入myql交互行提交命令后,就会出现4200错误。 2.显示所有数据库 SHOW DATABASES;注意复数s,毕竟很多数据库 3.新建数据库test CREATE DATABASE …

推理和行动协同(Reason and Act,ReAct)和代码生成

文心一言 当我们将“推理和行动协同(Reason and Act,ReAct)”的概念应用于代码生成时,我们可以理解为一种指导原则或方法论,它强调了在代码生成过程中进行深思熟虑的决策(Reason)和有效执行&am…

Python | Leetcode Python题解之第123题买卖股票的最佳时机III

题目: 题解: class Solution:def maxProfit(self, prices: List[int]) -> int:n len(prices)buy1 buy2 -prices[0]sell1 sell2 0for i in range(1, n):buy1 max(buy1, -prices[i])sell1 max(sell1, buy1 prices[i])buy2 max(buy2, sell1 - …

C#WPF数字大屏项目实战01--开发环境与项目创建

1、学习目标 -界面布局 ,- 模板调整,- 控件封装,- 图表,- 通信对接,- 动态更新 2、开发环境 开发工具:Visual Studio-2022-17.8.6-Community 运行时框架:.Net 6或Framework 4.5以上 UI框…

链表(2)反转链表

题目描述 反转一个单链表。(题目来源) 思路一 其实,反转一个单向链表,我们可以看成是将链表中的每个结点的指向反向(即从后一个结点指向前一个结点)。 我们在考虑情况的时候,还是可以先考虑一般…

【环境栏Composer】Composer常见问题(持续更新)

1、执行composer install提示当前目录中没有 composer.lock 文件时 No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information. Composer 在执行 install 命令时会…

在龙芯安装docker compose

安装过程报错:pynacl无法安装 原因:未知 解决尝试:单独安装pynacl 执行:pip install pynacl 报错: 再次执行dockerscompose撒谎啥 少了头文件 dev,表示c编译器有问题 python是c编写的 喵的 搞了半天是我…

github有趣项目:Verilog在线仿真( DigitalJS+edaplayground)

DigitalJS https://github.com/tilk/digitaljs这个项目是一个用Javascript实现的数字电路模拟器。 它旨在模拟由硬件设计工具合成的电路 像 Yosys(这里是 Github 存储库),它有一个配套项目 yosys2digitaljs,它可以转换 Yosys 将文…

独立开发的轻量级简洁开源论坛BBS PHP源码

最新的轻量级开源论坛php源码发布啦!这是一款独立开发的论坛系统,可以帮助你快速地开发出你想要的网站。 如果你是PHP初学者,这款论坛系统非常适合你入门学习。不过,需要注意的是,由于它并没有进行商业化改造&#xf…