基本语法:
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. 基于CAS的单点登录实战(2)-- 搭建cas的php客户端

    在这之前已经搭好了CAS服务端 基于CAS的单点登录实战(1)-- 搭建cas服务器 PHP-Client php-Client是官方支持的,去官网下个最新版就好了.phpCAS 接入很简单,解压放到 ...

  2. bzoj2395 [Balkan 2011]Timeismoney(最小乘积生成树+计算几何)

    题意 每条边有两个权值\(c,t\),请求出一颗生成树,使得\(\sum c\times \sum t\)最小 题解 为什么生成树会和计算几何扯上关系-- 对于每棵树,设\(x=c,y=t\),我们可 ...

  3. centos 在vm下网络不通

    VMware是一款虚拟机,支持各种热门系统,我们可以在VMware虚拟机中安装其他系统以满足个人需求,但在为VMware安装CentOS6.5后,无法连接网络,这是什么原因导致的呢?下面就给大家介绍下 ...

  4. 在StoryBoard对UICollectionViewCell 进行Autolayout是遇到的Xcode6.01的BUG

    使用Sb对UICollectionViewCell 的内容进行Autolayout约束时候,发现了一个Xcode6.01的BUG,就是你对UICollectionCell约束完了之后,在模拟器上现实的 ...

  5. 【问题记录】在执行js的时候报错:missing ) after argument list

    在执行个js语句时候报错: 报错语句: js('document.querySelector("[class] [tabindex='0']:nth-child(2) span") ...

  6. AR资料汇总学习

    ARKit 从入门到精通 http://www.chinaar.com/ARKit/5210.html ARKit 框架的学习 http://blog.csdn.net/biangabiang/art ...

  7. 使用 Flask 实现 RESTful API

    原文出处: Luis Rei   译文出处:nummy 简介 首先,安装Flask     1 pip install flask 假设那你已经了解RESTful API的相关概念,如果不清楚,可以阅 ...

  8. IntelliJ IDEA 把Maven项目导出可执行jar包

    2017年04月05日 14:05:08 waterimelon 阅读数:1574 标签: intellij ideamaven 更多 个人分类: idea   第一步  第二步  第三步 

  9. Domoticz 中接入斐讯 M1 空气质量检测仪

    前言 M1 是翻车讯出的一款空气质量检测仪,如今斐讯的服务器经常连不上了,M1 不动动手接到 Domoticz 怕是变成摆设了.教程参考了这里和官方的 Using Python plugins. 步骤 ...

  10. shim和polyfill,前端术语

    最近项目临近发布,JS的bug大都修改完毕,终于进入了我在这家公司实习+入职为数不多的摸鱼时刻.(想想真是有点感人啊) 因为项目要兼容IE8,所以我们的代码里常常要用到 shim 以支持ES5 的相关 ...