c#switch语句的用法
switch条件语句是一种很常用的选择语句,它与if条件语句不同,它只针对某个表达式的值作出判断,从而决定执行哪一段代码.
switch条件语句用到的关键字: switch case break default
switch条件语句的格式如下:
- switch (表达式)
- {
- case 目标值1:
- 执行语句1;
- break;
- case 目标值2:
- 执行语句2;
- break;
- ......
- case 目标值n:
- 执行语句n;
- break;
- default:
- 执行语句n+1;
- break;
- }
在上面的格式中,switch语句将表达式的值与每个case中的目标值进行匹配,如果找到了匹配的值,会执行对应case后边的语句;如果没找到任何匹配的值,就会执行default后的语句.switch语句中的break关键字的作用是跳出switch语句.
- switch (用于表示星期的数字)
- {
- case :
- 输出星期一;
- break;
- case :
- 输出星期二;
- break;
- case :
- 输出星期三;
- break;
- case :
- 输出星期四;
- break;
- case :
- 输出星期五;
- break;
- case :
- 输出星期六;
- break;
- case :
- 输出星期日;
- break;
- default:
- 输出此日期为非法日期;
- break;
- }
上面的伪代码根据数字来输出中文格式的星期.
switch条件语句的表达式的类型可以是: bool,整形,char,string,枚举,或相应可以为null的类型.
下面就演示一个表达式类型为字符串的案例:
- 1 string []Date={"Monday","Tuesday","Wednesday","Thursday","Firday","Saturday","Sunday"};//数组的索引值(下标)分别为0,1,2,3,4,5,6;
- string []ChineseDate = { "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日" };
- for (int i = int.Parse(Console.ReadLine()); i > 0 && i <= ; i = int.Parse(Console.ReadLine()))//i=7是因为输入7的时候对应的索引值为6,输出星期日;
- {
- switch (Date[i-]) //表达式的值是字符串, i-1是因为字符串数组的下标是从0开始的.
- {
- case "Monday": //对应的case目标值也应该是字符串;
- Console.WriteLine(ChineseDate[i - ]);
- break;
- case "Tuesday":
- Console.WriteLine(ChineseDate[i - ]);
- break;
- case "Wednesday":
- Console.WriteLine(ChineseDate[i - ]);
- break;
- case "Thursday":
- Console.WriteLine(ChineseDate[i - ]);
- break;
- case "Firday":
- Console.WriteLine(ChineseDate[i - ]);
- break;
- case "Saturday":
- Console.WriteLine(ChineseDate[i - ]);
- break;
- case "Sunday":
- Console.WriteLine(ChineseDate[i - ]);
- break;
- default:
- Console.WriteLine("此日期为非法日期");//因为在循环中,索引值被循环条件限制,所以这里的default没有用上;
- break;
- }
- }
在使用switch语句的过程中,如果多个case条件后面的执行语句是一样的,则该执行语句只需书写一次即可,只是一种简写的方式.
例如要判断一周中的某一天是工作日还是休息日;
- int week = ;
- switch (week)
- {
- case :
- case :
- case :
- case :
- case :
- Console.WriteLine("今天是工作日");//当变量week的值为1,2,3,4,5中任意一个值时,处理方法相同,都是打印"今天是工作日".
- break;
- case :
- case :
- Console.WriteLine("今天是休息日");//同理
- break;
- }
c#中switch语句两个case标签之间有代码,却没有break跳出的话,系统会提示错误,控制不能从一个case标签贯穿到另一个case标签.
- int week = ;
- switch (week)
- {
- case :
- case :
- case : Console.WriteLine("当两个case标签之间有代码,却没有break,系统会提示错误:控制不能从一个case标签贯穿到另一个case标签");
- case :
- case :
- Console.WriteLine("今天是工作日");
- break;
- case :
- case :
- Console.WriteLine("今天是休息日");
- break;
- }
关于switch条件语句的介绍就到这里了,欢迎小伙伴们提供意见,可能有遗漏的地方,希望见谅.
c#switch语句的用法的更多相关文章
- C++ switch 语句的用法
C++ 判断 一个 switch 语句允许测试一个变量等于多个值时的情况.每个值称为一个 case,且被测试的变量会对每个 switch case 进行检查. C++ 中 switch 语句的语法: ...
- switch… case 语句的用法(二)
总结来说:switch的用法是判断case后面的表达式和switch后面的表达式是否相匹配,一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break.都不匹配找d ...
- switch… case 语句的用法(一)
public class Test7 { public static void main(String[] args) { int i=5; switch(i) { case 1: System.ou ...
- switch… case 语句的用法
switch… case 语句的用法 public class Test7 { public static void main(String[] args) { int i=5; switch(i ...
- Java-Annotation的一种用法(消除代码中冗余的if/else或switch语句)
Java-Annotation的一种用法(消除代码中冗余的if/else或switch语句) 1.冗余的if/else或switch 有没有朋友写过以下的代码结构,大量的if/esle判断,来选择 ...
- 提高java编程质量 - (五)switch语句break不能忘以及default不同位置的用法
先看一段代码: public class Test{ public static void main(String[] args){ System.)); } } public static Stri ...
- Java之戳中痛点 - (5)switch语句break不能忘以及default不同位置的用法
先看一段代码: public class Test{ public static void main(String[] args){ System.)); } } public static Stri ...
- switch case语句的用法
Java语言 switch支持部分基本数据类型(primitive data types),如:byte.short.int.long.char:不支持boolean.float.double. 如图 ...
- switch语句的妙用
switch语句的普通用法很简单,如下: var a = 3; switch (a) { case 1: console.log(a); break; case 2: case 3: console. ...
随机推荐
- git 安装部署教程
转转改改修修,能用: 查看用户名和邮箱 $ git config user.name $ git config user.email 修改用户名和邮箱 $ git config user.na ...
- Java(原码、反码、补码和计算机存储格式)
原码:将一个整数,转换成二进制,就是其原码.如单字节的5的原码为:0000 0101:-5的原码为1000 0101. 反码:正数的反码就是其原码:负数的反码是将原码中,除符号位以外,每一位取反.如单 ...
- virtualenvwrappers pipreqs 踩坑
virtualenvwrappers 1.安装 pip install virtualenvwrapper 在~/.bashrc 中写入 export WORKON_HOME=~/.virtualen ...
- Java技术学习之影响MySQL性能的配置参数
本文将介绍MySQL参数的五大类设置,平时我们一般都很少碰它们,在进行MySQL性能调优和故障诊断时这些参数还是非常有用的. (一)连接连接通常来自Web服务器,下面列出了一些与连接有关的参数,以及该 ...
- 游戏编程模式 Game Programming Patterns (Robert Nystrom 著)
第1篇 概述 第1章 架构,性能和游戏 (已看) 第2篇 再探设计模式 第2章 命令模式 (已看) 第3章 享元模式 (已看) 第4章 观察者模式 (已看) 第5章 原型模式 (已看) 第6章 单例模 ...
- bond模式
1.mode=0(balance-rr)(平衡抡循环策略) 链路负载均衡,增加带宽,支持容错,一条链路故障会自动切换正常链路.交换机需要配置聚合口,思科叫port channel.特点:传输数据包顺序 ...
- vue.js安装过程(npm安装)
一.开发环境 vue推荐开发环境: Node.js: JavaScript运行环境(runtime),不同系统直接运行各种编程语言 npm: Nodejs下的包管理器. webpack: 它主要的用途 ...
- 第三节 Python基础之数据类型(列表,元组,字典)
列表,简单说就是用[]括起来的一大堆数据,这些数据我们叫做元素,元素与元素之间用","隔开,这些元素可以是数字,布尔值,字符串,列表等等,基本所有的数据类型都可以放在列表里边,同时 ...
- A* 算法的原理
参考下面的博客内容, 已经写的很详细了, 就不用重复写了. https://blog.csdn.net/haxiongha/article/details/81357687
- 使用starUML画顺序图
https://blog.csdn.net/gary0917/article/details/79968762