switch语句

news2024/11/19 15:26:18

在这里插入图片描述

作用

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

基本语法

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;
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

js四舍五入和计算精度问题处理

js四舍五入和计算精度问题处理 目录 js四舍五入和计算精度问题处理错误计算方法示例代码 js中加减乘除,部分数据会存在计算不准确。 错误计算 我使用的是big.js,基于big.js库封装了下工具方法,当然也可以用其他库,如mathjs/bignu…

【学习笔记】计算机组成原理(九+十)

控制单元的功能 文章目录 控制单元的功能9.1 微操作命令的分析9.1.1 取指周期9.1.2 间址周期9.1.3 执行周期9.1.4 中断周期 9.2 控制单元的功能9.2.1 控制单元的外特性9.2.2 控制信号举例9.2.3 多级时序系统9.2.4 控制方式 控制单元的设计10.1 组合逻辑设计10.1.1 组合逻辑控制…

04-树5 Root of AVL Tree(浙大数据结构PTA习题)

04-树5 Root of AVL Tree 分数 25 作者 陈越 单位 浙江大学 An AVL tree is a self-balancing binary search tree. In an AVL tree, the heights of the two child subtrees of any node differ by at most one; if at any time they differ by more th…

Matlab|基于粒子群算法优化Kmeans聚类的居民用电行为分析

目录 主要内容 部分代码 结果一览 下载链接 主要内容 在我们研究电力系统优化调度模型的过程中,由于每天负荷和分布式电源出力随机性和不确定性,可能会优化出很多的结果,但是经济调度模型试图做到通用策略,同样的策…

Java-集合基础

集合 一、含义 集合是Java API所提供的一系列类,可以用于动态存放多个对象 (集合只能存对象)集合与数组的不同在于,集合是大小可变的序列,而且元素类型可以不受限定,只要是引用类型。(集合中不能放基本数据类型,但可以…

WPF Binding对象

在WinForm中,我们要想对控件赋值,需要在后台代码中拿到控件对象进行操作,这种赋值形式,从根本上是无法实现界面与逻辑分离的。 在WPF中,微软引入了Binding对象,通过Binding,我们可以直接将控件与…

从零开始利用MATLAB进行FPGA设计(七)用ADC采集信号教程2

黑金的教程做的实在太拉闸了,于是自己摸索信号采集模块的使用方法。 ADC模块:AN9238 FPGA开发板:AX7020;Xilinx 公司的 Zynq7000 系列的芯片XC7Z020-2CLG400I,400引脚 FBGA 封装。 往期回顾: 从零开始利…

【易错题】数据统计补充习题(选择题 )#CDA Level 1

本文整理了数据统计相关的易错题,部分可作为备考CDA Level 1统计学部分的补充习题。来源:如荷学题库(CFDP第三部分) 1) 2) 3) 4) 5) 6) 7) 8&…

解决Mac ~/.bash_profile 配置的环境变量重启终端后失效问题

在Mac系统中,配置环境变量通常是在~/.bash_profile文件中进行。然而,有时会遇到配置的环境变量在重启终端后失效的问题。 解决办法: 在~/.zshrc文件最后或最前面,增加一行 source ~/.bash_profile

记一次netty客户端的开发

背景 近日要开发一个tcp客户端程序去对接上游厂商的数据源,决定使用netty去处理,由于很久没有开发过netty了,顺便学习记录下 netty搭建 考虑到我们需要多个client去对接server服务,所以我们定义一个公共的AbstractNettyClient父…

RAID技术迭代、原理对比、产品梳理(HCIA)

目录 一、RAID技术迭代 传统RAID LUN虚拟化2.0 工作原理: 块虚拟化2.0 为什么有RAID2.0? RAID2.0实现原理: RAID-TPRAID 7 华为RAID-TP技术 RAID的4种工作状态 RAID算法 普通RAID算法 华为动态RAID算法 保险箱盘(存掉…

Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks 阅读笔记

这才是真正RAG,如果只是把检索得到结果放到prompt里面,可能够呛。 好久没有读paper了,最近因为有个小工作,来读一篇较早提出来RAG想法的文章吧。这篇文章是Facebook、伦敦大学学院以及纽约大学的研究者们搞出来的。文章首先指出&a…

8-异常与错误

8-异常与错误 1、简介2、异常处理2.1 抛出异常2.2 捕获异常2.3 匹配顺序 3、异常说明4、构造函数中的异常5、析构函数中的异常6、标准库异常 1、简介 在程序编码过程中难免会出现错误,主要有:语法错误、逻辑错误、功能错误等,当我们面对以上…

SpringBoot打war包并配置外部Tomcat运行

简介 由于其他原因,我们需要使用SpringBoot打成war包放在外部的Tomcat中运行,本文就以一个案例来说明从SpringBoot打war包到Tomcat配置并运行的全流程经过 环境 SpringBoot 2.6.15 Tomcat 8.5.100 JDK 1.8.0_281 Windows 正文 一、SpringBoot配置打war包 第一步&a…

echarts 图表不显示的问题

是这样的,点击详情,再点击统计,切换的时候就不会显示echarts图表,刚开始使用的是next Tick,没有使用定时器,后来加上了定时器就实现了如下所示: 代码是如下 const chartContainer ref(null); …

开发一个SDK(starter)

1.创建项目 将pom.xml中build删除掉

pikachu靶场(unsafe upfileupload(文件上传)通关教程)

目录 client check 1.在桌面新建一个文本文档 2.保存为.png格式 3.打开网站 4.按照图中操作 5.点击forward 6.访问 MIME type 1.新建一个php文件,里面写上 2.上传文件,就是我们保存的文件 3.打开抓包工具,点击开始上传 4.修改Conen…

服务器主板电池

一、什么是服务器纽扣电池? 服务器纽扣电池,也叫CMOS电池,是一种非常小型的电池,通常与服务器主板上的CMOS芯片相结合,用于储存BIOS设置、时钟和其他关键系统信息。这种电池的体积通常比一枚硬币还小,而且…

RT-DETR:端到端的实时Transformer检测模型(目标检测+跟踪)

博主一直一来做的都是基于Transformer的目标检测领域,相较于基于卷积的目标检测方法,如YOLO等,其检测速度一直为人诟病。 终于,RT-DETR横空出世,在取得高精度的同时,检测速度也大幅提升。 那么RT-DETR是如…

数据库(13)——DQL分组查询

语法 SELECT 字段列表 FROM 表名 [WHERE 条件] GROUP BY 分组字段名 [HAVING 分组后过滤条件] 示例 原始表: 根据性别分组并统计人数 select sex,count(*) from information group by sex; 根据性别分组,并求年龄的平均值: