基本语法:
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. Mysql高性能优化规范建议

    数据库命令规范 所有数据库对象名称必须使用小写字母并用下划线分割 所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来) 数据库对象的命名要能做到见名识意 ...

  2. centos6 x64安装elasticsearch5.5.2启动报错

    ERROR: [3] bootstrap checks failed[1]: max file descriptors [4096] for elasticsearch process is too ...

  3. 线性可分SVM完全推导过程

  4. 洛谷 P2234 [HNOI2002]营业额统计

    题目描述 Tiger最近被公司升任为营业部经理,他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况. Tiger拿出了公司的账本,账本上记录了公司成立以来每天的营业额.分析营业情况是 ...

  5. scrollView - tableView - collectionView 滚动视图的滚动速度

    介绍: 每次滚动都会触发 didScroll 这个方法, 每次滚动都会有一个偏移量,滚动的快慢决定每一次偏移量的大小,可以通过两次滚动偏移量差,判断速度,从而根据速度大小对导航栏做一些操作 { CGF ...

  6. Springboot 整合 中国移动MAS HTTP1.0 实现短信发送服务(二)

    原因:身份验证传入的参数包含中文企业名,因为本地编码格式是支持中文的:而客户的服务器中文却乱码,导致传给中国移动MAS服务器的是乱码的信息. 解决:非常简单,将中文信息转为UTF-8.例如(%E5%8 ...

  7. vue项目构建过程

    # template 模版项目 > A Vue.js project* 构建过程* 安装过程* 差异点* 打包优化 ## 构建过程```bashbogon:vue-cli caoke$ vue ...

  8. ndoejs创建多重文件夹

    function mkdir(filepath){ var path=require("path") if(!fs.existsSync(path.dirname(filepath ...

  9. 【Python】小括号过滤后的盲注

    0x00   环境搭建 sqli-labs第八关,简单修改下源代码,加入下面一行代码 $id=preg_replace('/\(|\)/', "",$id); //过滤小括号 0x ...

  10. JavaScript学习笔记2_面向对象

    1.对象的定义 ECMAScript中,对象是一个无序属性集,这里的“属性”可以是基本值.对象或者函数 2.数据属性与访问器属性 数据属性即有值的属性,可以设置属性只读.不可删除.不可枚举等等 访问器 ...