基本语法:
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. DRF的认证、权限 和 限制

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

  2. 关于“java.lang.OutOfMemoryError : unable to create new native Thread”的报错问题

    好吧 我发誓这是postgresql的Mirroring Controller的RT测试的最后一个坑了. 在这个RT测试的最后,要求测试Mirroring Controller功能在长时间运行下的稳定 ...

  3. 190221协程与IO模型

    一.协程 又称微线程 协程是一种用户态的轻量级的线程 在单线程下实现的并发,例如:yield 优点: 无需线程上下文切换的开销 无需原子操作锁定及同步的开销 方便切换控制流,简化编程模型 高并发,高扩 ...

  4. ProgressBar(进度条)、SeekBar(拖动条)与星级评分条(RatingBar)

    1.ProgressBar(进度条) (1)介绍 (2)常用属性 (3)xml代码 <ProgressBar android:id="@+id/progressBar2" s ...

  5. HDU6464 (权值线段树)-(查找区间第k1小于第k2小之间的和)

    http://acm.hdu.edu.cn/showproblem.php?pid=6464 不理解先看博客:https://blog.csdn.net/g21glf/article/details/ ...

  6. js实现点击按钮滚动条缓慢滚动到顶部

    toTop:function(){ //toTop 滚动到顶部 var currentPosition,timer; var speed=10; timer=setInterval(function( ...

  7. vue 在使用v-html绑定的时候,里面的元素不会继承外部的css,解决方案

    问题 想用vue绑定父文本生成的HTML内容,但是发现CSS样式根本不生效,选择器没起作用 代码: <div class="announcedetailImg" v-html ...

  8. 从source安装python3.5和pip

    按顺序来,先装上python3.5,source安装,命令是 ./configure --prefix="你想要的路径" make make install 然后是安装pip,但是 ...

  9. centos7安装nslookup工具、ntp工具

    2018-12-13 centos7安装nslookup工具 yum install bind-utils -y DNS解析localhost到本机 # .检测 [root@node2 ~]# nsl ...

  10. kindeditor<=4.1.5文件上传漏洞

    最近发现很多网页篡改与暗链都是利用kindeditor编辑器,于是搜了一下kindeditor的漏洞,发现低于4.1.5版本的存在文件上传的漏洞,可以上传txt,html后缀的文档,许多恶意的文档貌似 ...