基本语法:
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. 我的java问题排查工具单

    前言 平时的工作中经常碰到很多疑难问题的处理,在解决问题的同时,有一些工具起到了相当大的作用,在此书写下来,一是作为笔记,可以让自己后续忘记了可快速翻阅,二是分享,希望看到此文的同学们可以拿出自己日常 ...

  2. loj #6121. 「网络流 24 题」孤岛营救问题

    #6121. 「网络流 24 题」孤岛营救问题   题目描述 1944 年,特种兵麦克接到国防部的命令,要求立即赶赴太平洋上的一个孤岛,营救被敌军俘虏的大兵瑞恩.瑞恩被关押在一个迷宫里,迷宫地形复杂, ...

  3. ThinkCMF Foreach标签

    foreach标签类似与volist标签,只是更加简单,没有太多额外的属性,例如: <foreach name="list" item="vo"> ...

  4. [BZOJ 5415] 归程

    一棵KrusKal重构树,然而我数组开小了,忘记清空一个标记 洛谷传送门 BZOJ传送门 ......好像成权限题了Orz 回顾我们用KrusKal做生成树的时候,我们将边排序后连通各个连通块,那么边 ...

  5. C. Connect Three Round #528 (Div. 2)【曼哈顿距离】

    一.题面 题目链接 二.分析 这题的关键是要确定一个点是从三个点出发的交汇点,其他的只要结合曼哈顿距离的定义即可明白.因为是三个点,这个交汇点的坐标分别对应的就是x,y值的中值.然后一个小技巧就是曼哈 ...

  6. window7下karma 报 The header content contains invalid characters BUG

    打开你的依赖node_modules\karma\node_modules\connect\lib\patch.js 将里面的setHeader方法改成下面这样,干掉序列化日期时出现的中文 res.s ...

  7. JS 克隆Object.prototype.Clone

    我们知道,在js中,当object作为参数传递到函数中进行处理后,实际上是修改了传入的对象本身(或者说是对象的引用),但很多时候我们并不希望函数去修改我们的这些对象参数,这就需要使用到对象的克隆,我们 ...

  8. Oracle sql 中的 ALL,ANY,SOME

    [转自] http://www.itpub.net/thread-1355835-1-1.html any和some是等价的,其与all的前面都只能是比较符号,即=, !=, >, <, ...

  9. Python Excel操作库

    xlrd:支持.xls..xlsx读 xlwt:只支持.xls写 xlutils:只支持.xls读写 依赖于xlrd和xlwt xlwings:支持.xls读,.xlsx读写 可以实现Excel和Py ...

  10. Jenkins之构建邮件通知之插件Email Extension

    插件: 系统管理-->系统设置--> Extended E-mail Notificati 附上邮件内容: <!DOCTYPE html> <html> <h ...