switch条件语句是一种很常用的选择语句,它与if条件语句不同,它只针对某个表达式的值作出判断,从而决定执行哪一段代码.

switch条件语句用到的关键字:  switch  case  break  default

switch条件语句的格式如下:

  1. switch (表达式)
  2. {
  3. case 目标值1:
  4. 执行语句1;
  5. break;
  6. case 目标值2:
  7. 执行语句2;
  8. break;
  9. ......
  10.  
  11. case 目标值n:
  12. 执行语句n;
  13. break;
  14. default:
  15. 执行语句n+1;
  16. break;
  17. }

在上面的格式中,switch语句将表达式的值与每个case中的目标值进行匹配,如果找到了匹配的值,会执行对应case后边的语句;如果没找到任何匹配的值,就会执行default后的语句.switch语句中的break关键字的作用是跳出switch语句.

  1. switch (用于表示星期的数字)
  2. {
  3. case :
  4. 输出星期一;
  5. break;
  6. case :
  7. 输出星期二;
  8. break;
  9. case :
  10. 输出星期三;
  11. break;
  12. case :
  13. 输出星期四;
  14. break;
  15. case :
  16. 输出星期五;
  17. break;
  18. case :
  19. 输出星期六;
  20. break;
  21. case :
  22. 输出星期日;
  23. break;
  24. default:
  25. 输出此日期为非法日期;
  26. break;
  27. }

上面的伪代码根据数字来输出中文格式的星期.

switch条件语句的表达式的类型可以是: bool,整形,char,string,枚举,或相应可以为null的类型.

下面就演示一个表达式类型为字符串的案例:

  1. 1 string []Date={"Monday","Tuesday","Wednesday","Thursday","Firday","Saturday","Sunday"};//数组的索引值(下标)分别为0,1,2,3,4,5,6;
  2. string []ChineseDate = { "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日" };
  3.  
  4. for (int i = int.Parse(Console.ReadLine()); i > 0 && i <= ; i = int.Parse(Console.ReadLine()))//i=7是因为输入7的时候对应的索引值为6,输出星期日;
  5. {
  6. switch (Date[i-])  //表达式的值是字符串, i-1是因为字符串数组的下标是从0开始的.
  7. {
  8. case "Monday":  //对应的case目标值也应该是字符串;
  9. Console.WriteLine(ChineseDate[i - ]);
  10. break;
  11. case "Tuesday":
  12. Console.WriteLine(ChineseDate[i - ]);
  13. break;
  14. case "Wednesday":
  15. Console.WriteLine(ChineseDate[i - ]);
  16. break;
  17. case "Thursday":
  18. Console.WriteLine(ChineseDate[i - ]);
  19. break;
  20. case "Firday":
  21. Console.WriteLine(ChineseDate[i - ]);
  22. break;
  23. case "Saturday":
  24. Console.WriteLine(ChineseDate[i - ]);
  25. break;
  26. case "Sunday":
  27. Console.WriteLine(ChineseDate[i - ]);
  28. break;
  29. default:
  30. Console.WriteLine("此日期为非法日期");//因为在循环中,索引值被循环条件限制,所以这里的default没有用上;
  31. break;
  32. }
  33. }

在使用switch语句的过程中,如果多个case条件后面的执行语句是一样的,则该执行语句只需书写一次即可,只是一种简写的方式.

例如要判断一周中的某一天是工作日还是休息日;

  1. int week = ;
  2. switch (week)
  3. {
  4. case :
  5. case :
  6. case :
  7. case :
  8. case :
  9. Console.WriteLine("今天是工作日");//当变量week的值为1,2,3,4,5中任意一个值时,处理方法相同,都是打印"今天是工作日".
  10. break;
  11. case :
  12. case :
  13. Console.WriteLine("今天是休息日");//同理
  14. break;
  15. }

c#中switch语句两个case标签之间有代码,却没有break跳出的话,系统会提示错误,控制不能从一个case标签贯穿到另一个case标签.

  1. int week = ;
  2. switch (week)
  3. {
  4. case :
  5. case :
  6. case : Console.WriteLine("当两个case标签之间有代码,却没有break,系统会提示错误:控制不能从一个case标签贯穿到另一个case标签");
  7. case :
  8. case :
  9. Console.WriteLine("今天是工作日");
  10. break;
  11. case :
  12. case :
  13. Console.WriteLine("今天是休息日");
  14. break;
  15. }

关于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. git 安装部署教程

    转转改改修修,能用:   查看用户名和邮箱 $ git config user.name $ git config user.email   修改用户名和邮箱 $ git config user.na ...

  2. Java(原码、反码、补码和计算机存储格式)

    原码:将一个整数,转换成二进制,就是其原码.如单字节的5的原码为:0000 0101:-5的原码为1000 0101. 反码:正数的反码就是其原码:负数的反码是将原码中,除符号位以外,每一位取反.如单 ...

  3. virtualenvwrappers pipreqs 踩坑

    virtualenvwrappers 1.安装 pip install virtualenvwrapper 在~/.bashrc 中写入 export WORKON_HOME=~/.virtualen ...

  4. Java技术学习之影响MySQL性能的配置参数

    本文将介绍MySQL参数的五大类设置,平时我们一般都很少碰它们,在进行MySQL性能调优和故障诊断时这些参数还是非常有用的. (一)连接连接通常来自Web服务器,下面列出了一些与连接有关的参数,以及该 ...

  5. 游戏编程模式 Game Programming Patterns (Robert Nystrom 著)

    第1篇 概述 第1章 架构,性能和游戏 (已看) 第2篇 再探设计模式 第2章 命令模式 (已看) 第3章 享元模式 (已看) 第4章 观察者模式 (已看) 第5章 原型模式 (已看) 第6章 单例模 ...

  6. bond模式

    1.mode=0(balance-rr)(平衡抡循环策略) 链路负载均衡,增加带宽,支持容错,一条链路故障会自动切换正常链路.交换机需要配置聚合口,思科叫port channel.特点:传输数据包顺序 ...

  7. vue.js安装过程(npm安装)

    一.开发环境 vue推荐开发环境: Node.js: JavaScript运行环境(runtime),不同系统直接运行各种编程语言 npm: Nodejs下的包管理器. webpack: 它主要的用途 ...

  8. 第三节 Python基础之数据类型(列表,元组,字典)

    列表,简单说就是用[]括起来的一大堆数据,这些数据我们叫做元素,元素与元素之间用","隔开,这些元素可以是数字,布尔值,字符串,列表等等,基本所有的数据类型都可以放在列表里边,同时 ...

  9. A* 算法的原理

    参考下面的博客内容, 已经写的很详细了, 就不用重复写了. https://blog.csdn.net/haxiongha/article/details/81357687

  10. 使用starUML画顺序图

    https://blog.csdn.net/gary0917/article/details/79968762