基本语法:
switch-case语法:

switch(表达式/变量)

{

case
值1: 语句块1;

break;

case
值2: 语句块2;

break;

default:语句块3;

break;

}


注意:

执行过程:首先计算表达式,然后根据计算结果与匹配case后面的值,如果有匹配项,则执行匹配项后面的语句,

直到break语句跳出switch-case.如果所有的case值都不匹配,那么有default则执行default后面的语句,直到break结束.如果没有default,则跳出switch-case,什么都不执行.


示例代码:

  1. namespace _02.switch的使用
  2. {
  3. class Program
  4. {
  5. static void Main(string[] args)
  6. {
  7. //请输入李四的年终工作评级,如果是A级,则工资涨500元,如果定位B级,则工资涨200
  8. //如果定级为C级,工资不变,如果定位D级,工作降低200元,如果定位E级工资降低500.
  9. //设定李四的原工作为5000,请用户输入李四的评级,然后显示李四的来年工资.
  10. int wage = 5000; //李四的原工资
  11. Console.WriteLine("请输入李四的年终评级:");
  12. string str = Console.ReadLine(); //接收输入的评级
  13. switch (str)
  14. {
  15. case "A":
  16. wage += 500;
  17. break;
  18. case "B":
  19. wage += 200;
  20. break;
  21. case "C":
  22. wage += 0;
  23. break;
  24. case "D":
  25. wage -= 200;
  26. break;
  27. case "E":
  28. wage -= 500;
  29. break;
  30. default:
  31. Console.WriteLine("您的评级输入有误!只能输入\"A\"or\"B\"or\"C\"or\"D\"or\"E\"");
  32. break;
  33. }
  34. Console.WriteLine("李四来年的工资为:{0}.",wage);
  35. Console.ReadKey();
  36. }
  37. }
  38. }

关于switch的小练习:
  1. namespace _03.switch的练习
  2. {
  3. class Program
  4. {
  5. static void Main(string[] args)
  6. {
  7. //让用户输入姓名,然后显示出这个人上辈子是什么职业.
  8. Console.WriteLine("请输入用户的姓名:");
  9. string name = Console.ReadLine();
  10. switch (name)
  11. {
  12. case "张鹤贺":
  13. Console.WriteLine("上辈子是导演!");
  14. break;
  15. case "罗家强":
  16. Console.WriteLine("上辈子是网络工程师!");
  17. break;
  18. case "邓磊":
  19. Console.WriteLine("Android工程师!");
  20. break;
  21. case "添宇翔":
  22. Console.WriteLine("java工程师!");
  23. break;
  24. case "李正明":
  25. Console.WriteLine("ios工程师!");
  26. break;
  27. case "章永骏":
  28. Console.WriteLine(".net工程师!");
  29. break;
  30. default:
  31. Console.WriteLine("上辈子不知道是干什么的!");
  32. break;
  33. }
  34. Console.ReadKey();
  35. }
  36. }
  37. }


if-else if与switch的比较
1.相同点:
   都可以实现多分支结构.
2.不同点:
if-else if:可以处理范围
switch: 一般只能用于等值比较
3.三者的区别:
if有条件的执行一条语句.
if-else有条件的执行一条或者另一条语句.
switch有条件的执行一组语句中的一条语句.
 

02.switch的使用的更多相关文章

  1. 7.21.02 switch语句

    switch语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支. 语法 switch语法格式如下: switch(expression) { case value : //语句 break ...

  2. Java知识系统回顾整理01基础05控制流程02 switch

    一.switch switch 语句相当于 if else的另一种表达方式 switch可以使用byte,short,int,char,String,enum 注: 每个表达式结束,都应该有一个bre ...

  3. h5移动端常见问题

    meta基础知识 H5页面窗口自动调整到设备宽度,并禁止用户缩放页面 1 <meta name="viewport" content="width=device-w ...

  4. Android使用AsyncTask实现可以断点续传的DownloadManager功能

    http://www.it165.net/pro/html/201211/4210.html 最近做项目卡壳了,要做个Android的应用市场,其他方面都还好说,唯独这个下载管理算是给我难住了,究其原 ...

  5. 20160126.CCPP体系详解(0005天)

    程序片段(01):eatmem.c 内容概要:语句和逻辑结构 #include <stdio.h> #include <stdlib.h> #include <Windo ...

  6. OpenCV鼠标滑轮事件

    鼠标的滑轮事件实现图像的缩放很方便,具体在回调函数中如下写: 其中scale可以在外部定义为全局变量,通过响应CV_EVENT_MOUSEWHEEL滑轮事件获取Scale的具体值. 获取Scale值需 ...

  7. 【Go入门教程3】流程(if、goto、for、switch)和函数(多个返回值、变参、传值与传指针、defer、函数作为值/类型、Panic和Recover、main函数和init函数、import)

    这小节我们要介绍Go里面的流程控制以及函数操作. 流程控制 流程控制在编程语言中是最伟大的发明了,因为有了它,你可以通过很简单的流程描述来表达很复杂的逻辑.Go中流程控制分三大类:条件判断,循环控制和 ...

  8. 如何优雅的使用vue+vux开发app -02

    如何优雅的使用vue+vux开发app -02 很明显这又是一个错误的示范,请勿模仿 使用动态组件实现保留状态的路由 <!DOCTYPE html> <html> <he ...

  9. Java 7 中的Switch 谈 Java版本更新和反编译知识

    Java 7 中的Switch 谈 Java版本更新和反编译知识          学习编程,享受生活,大家好,我是追寻梦的飞飞.今天主要讲述的是Java7中的更新Switch实现内部原理和JAD反编 ...

随机推荐

  1. 如何修改git显示的用户名

    我是这样试了一下,可以改: 输入修改用户名和邮箱: $git config --global user.email "tanteng@gmail.com" $git config ...

  2. uoj#344. 【清华集训2017】我的生命已如风中残烛(计算几何)

    题面 传送门 题解 orzxyx 首先我们发现,一个点如果被到达大于一次,那么这个点肯定在一个环上.所以在不考虑环的情况下每个点只会被到达一次,那么我们就可以直接暴力了 简单来说,我们对每个点\(i\ ...

  3. DRF的认证、权限 和 限制

    一.概述 认证是将传入请求与一组标识凭据(例如请求来自的用户或其签名的令牌)相关联的机制.然后 权限 和 限制 组件决定是否拒绝这个请求. 简单来说就是: 认证确定了你是谁 权限确定你能不能访问某个接 ...

  4. [原创]用WinRAR实现VC源代码快速压缩创建

    [原创]用WinRAR实现VC源代码快速压缩创建 by edata @ cnblogs.com/edata 2017-5-8 22:31:57 我们有的时候需要对vc项目压缩打包,因为vc项目的无关文 ...

  5. 消息中间件ActiveMQ、RabbitMQ、RocketMQ、ZeroMQ、Kafka如何选型?

    最近要为公司的消息队列中间件进行选型,市面上相关的开源技术又非常多,如ActiveMQ.RabbitMQ.ZeroMQ.Kafka,还有阿里巴巴的RocketMQ等. 这么多技术,如何进行选型呢? 首 ...

  6. 八大排序算法的python实现(四)快速排序

    代码: #coding:utf-8 #author:徐卜灵 #交换排序.快速排序 # 虽然快速排序称为分治法,但分治法这三个字显然无法很好的概括快速排序的全部步骤.因此我的对快速排序作了进一步的说明: ...

  7. 从pg_hba.conf文件谈谈postgresql的连接认证

    最近一直在弄postgresql的东西,搭建postgresql数据库集群环境什么的.操作数据库少不得要从远程主机访问数据库环境,例如数据库管理员的远程管理数据库,远程的客户存取数据库文件. 而在po ...

  8. 使用SWig出现调用异常的情况

    未经处理的异常:  System.TypeInitializationException: "Win32Project1PINVOKE"的 类型初始值设定项引发异常. ---> ...

  9. swift pod 第三方库异常的处理

    Xcode8—Swift开发使用Cocoapods引入第三方库异常处理方法 参考:  http://www.jianshu.com/p/23f13be525a0 //podfile文件如下 platf ...

  10. ionic3 IPX留海适配

    解决:使用 safe-area-inset-top 等 ios 安全区域变量 + meta 标签中设置 viewport-fit=cover https://github.com/pengkobe/r ...