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语句的用法的更多相关文章

  1. C++ switch 语句的用法

    C++ 判断 一个 switch 语句允许测试一个变量等于多个值时的情况.每个值称为一个 case,且被测试的变量会对每个 switch case 进行检查. C++ 中 switch 语句的语法: ...

  2. switch… case 语句的用法(二)

    总结来说:switch的用法是判断case后面的表达式和switch后面的表达式是否相匹配,一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break.都不匹配找d ...

  3. switch… case 语句的用法(一)

    public class Test7 { public static void main(String[] args) { int i=5; switch(i) { case 1: System.ou ...

  4. switch… case 语句的用法

    switch… case 语句的用法   public class Test7 { public static void main(String[] args) { int i=5; switch(i ...

  5. Java-Annotation的一种用法(消除代码中冗余的if/else或switch语句)

    Java-Annotation的一种用法(消除代码中冗余的if/else或switch语句) 1.冗余的if/else或switch ​ 有没有朋友写过以下的代码结构,大量的if/esle判断,来选择 ...

  6. 提高java编程质量 - (五)switch语句break不能忘以及default不同位置的用法

    先看一段代码: public class Test{ public static void main(String[] args){ System.)); } } public static Stri ...

  7. Java之戳中痛点 - (5)switch语句break不能忘以及default不同位置的用法

    先看一段代码: public class Test{ public static void main(String[] args){ System.)); } } public static Stri ...

  8. switch case语句的用法

    Java语言 switch支持部分基本数据类型(primitive data types),如:byte.short.int.long.char:不支持boolean.float.double. 如图 ...

  9. switch语句的妙用

    switch语句的普通用法很简单,如下: var a = 3; switch (a) { case 1: console.log(a); break; case 2: case 3: console. ...

随机推荐

  1. C# 如何保证对象线程内唯一:数据槽(CallContext)【转载】

    如果说,一个对象保证全局唯一,大家肯定会想到一个经典的设计模式:单例模式,如果要使用的对象必须是线程内唯一的呢? 数据槽:CallContext,ok看下msdn对callcontent的解释. Ca ...

  2. day02 运算符

                                  运算符2019-04-01 目录 一.算数运算符 + = * / % // ** 二.比较运算 > < == != >= ...

  3. 使用LAP数据集进行年龄训练及估计

    一.背景 原本是打算按<DEX Deep EXpectation of apparent age from a single image>进行表面年龄的训练,可由于IMDB-WIKI的数据 ...

  4. Vue项目中GraphQL入门学习与应用

    1.GraphQL是什么,能干什么? 正如官网所说,GraphQL是一种用于API查询的语言.Facebook 的移动应用从 2012 年就开始使用 GraphQL.GraphQL 规范于 2015 ...

  5. mac下 chmod 不了文件,可以右键查看文件简介处修改权限

  6. 面向对象版Tab栏切换

    <div class="wrapper" id="wrapper"> <ul class="tab" id="t ...

  7. 关于Unity单个对象多个脚本的Update调用的时序问题

    先说几句废话, 最近在研究Unity, 这玩意用起来比较简单, 而且商店里还有各种插件, 初学者也能轻松拼凑出一个像模像样的游戏(顺便说一句,自己做着玩就无所谓了,但随便拼凑个辣鸡丢出来骗钱就不好了) ...

  8. python网络爬虫学习笔记(二)BeautifulSoup库

    Beautiful Soup库也称为beautiful4库.bs4库,它可用于解析HTML/XML,并将所有文件.字符串转换为'utf-8'编码.HTML/XML文档是与“标签树一一对应的.具体地说, ...

  9. Ping 笔记

    Ping  笔记 查看网络间的连通性. 当设备与PC在同一局域网中(连接同一路由器),设备与PC互Ping对方,若只有其中一个掉线连不上,两者可能存在网络端口的问题, 若设备与PC同时掉线,则为路由器 ...

  10. [STM32F103]定时器PWM输入

    typedef struct { uint16_t TIM_OCMode;  //PWM模式1或者模式2 uint16_t TIM_OutputState; //输出使能 OR失能 uint16_t ...