switch case语句的用法

我们首先来看一下switch case 语句的一般形式是怎样的

switch(表达式){case  常量1 :代码块;break;case  常量2:代码块;break;........case    常量n:代码块;break;default:代码块;break;
}

当表达式的值和下面哪一个常量相等就会执行那个常量所对应的代码块,如果没有与表达式相等的常量时就会执行default下面的代码块。

例如下面这个代码:

import java.util.Scanner;
public class Test01{public static void main(String[] args){Scanner input = new Scanner(System.in);int s = input.nextInt();switch (s){case 0:`System.out.println("你输入的数字为为:" + 0);break;case 1:System.out.println("你输入的数字为为:" + 1);break;case 2:System.out.println("你输入的数字为为:" + 2);default :System.out.println("你输入的数字不是0--2");}}
}


**在使用switch case的时候一定要注意不要把break给漏写了,**如果没有break的话,程序在执行完所对应的代码块后会顺序执行下面的语句知道程序结束或者遇到下一个break为止。下面就是我把break给去掉的样子。

输入1的时候执行结果就变成了这个样子:

所以一定要注意不要忘了写break语句。
当多个常量对应同一个代码块时,我们也可以这样使用switch case:

switch(表达式){case  常量1:case  常量2:…case 常量n:代码块;break;case 常量n+1:代码块break;default:代码块;break;
}

比如这个代码:

import java.util.Scanner;
public class Test01{public static void main(String[] args){Scanner input = new Scanner(System.in);int s = input.nextInt();switch (s){case 0:case 1:System.out.println("你输入的数字为为0或1");break;case 2:System.out.println("你输入的数字为为:" + 2);break;default :System.out.println("你输入的数字不是0--2");}}
}


由此可见,这样写的话无论你输入的是0还是1它结果都是执行的遇到break之前的代码块。当多种情况对应同一种输出时,把代码块相同的case可以直接放到一起,这样可以有效减少重复代码,节省时间提升开发效率。

如果case就把所有情况都讨论到了default语句也可以不写,另外default语句不是只能写在最后,他可以和任意的case语句交换位置,不影响程序的正常运行,但是为了保证代码的可读性,我们一般都写在最后,写在最后的话default的break可以不写,但建议写上。

值得注意的是:case后面的常量值只能是 byte short char int 枚举(5.0及以后版本)String(7.0及以后版本),其余数据类型都不可以,而且同一个switch语句,所有case子句中的常量值互不相同。*

switch case在什么情况中使用比较好呢?
如果判断的具体数值不多,而且符合byte、short 、char、int、String、枚举等几种类型时建议使用swtich语句。

switch case语句都可以转换成if else语句,但能用switch case 建议使用switch case 因为他的效率更高。但对于其他情况:对区间判断,对结果为boolean类型判断,只能使用if,if的使用范围更广。 也就是说,使用switch-case的,都可以改写为if-else。反之不成立

好了,这就是我总结的switch语句的基本用法,有什么不当的地方还望各位读者指出来,我一定积极改正。

switch case语句的用法相关推荐

  1. c语言 case语句用法,switch ... case语句的用法[组图]

    switch ... case语句的用法[组图] 08-13栏目:技术 TAG:switch case语句 switch case语句 当情况大于或等于4种的时候就用switch ...  case语 ...

  2. c语言 case语句用法,switch case语句的用法

    switch语句是多分支选择语句,用于基于不同的条件来执行不同的动作.下面讲解switch case语句的具体用法. Switch作为选择结构中必不可少的语句也被加入到了Swift中,只要有编程经验的 ...

  3. switch… case 语句的用法

    转自:http://www.cnblogs.com/zhangjs8385/archive/2011/10/06/2200059.html public class Test7 {public sta ...

  4. java case switch面试_Java基础篇——Java中switch case语句用法及注意事项面试题9期

    本文主要说一说关于switch case语句用法及注意事项,应对面试官的提问.希望可以帮助那些对switch存在错误和各种细节问题的"码友". switch-case注意事项 sw ...

  5. python中case的用法_用 Python 实现简单的 switch/case 语句

    在Python中是没有Switch / Case语句的,很多人认为这种语句不够优雅灵活,在Python中用字典来处理多条件匹配问题字典会更简单高效,对于有一定经验的Python玩家不得不承认,的确如此 ...

  6. java中switchcase用法,java中的switch case语句使用详解

    java中的switch case语句 switch-case语句格式如下: ? swtich()变量类型只能是int.short.char.byte和enum类型(JDK 1.7 之后,类型也可以是 ...

  7. c#语言switch+case用法,C# switch case语句

    C# switch case 语句也是条件语句的一种,与上一节介绍的<C# if else语句>是类似的,但在判断条件的选择上会有一些局限性. 具体的语法形式如下. switch(表达式) ...

  8. C语言CASE语句嵌套,C语言中switch case语句的嵌套

    给一个含有嵌套的switch case的一段完整代码: #include int main() { int n=1; int m=2; switch(n) { case 1: m++; case 2: ...

  9. C语言case次数有限制吗,用switch...case语句统计数字、空格和其他字符出现的次数...

    //用switch...case语句统计数字.空格和其他字符出现的次数 //转自K&R #include int main(void) { int c, i, nwhite, nother, ...

最新文章

  1. SQL点滴24—监测表的变化(转载)
  2. 使用Fedora之VMware 虚拟机安装Fedora
  3. C++编程风格(一)
  4. Kettle使用_27 行转列与列转行方法汇总
  5. oracle 导入excel时间格式,将.xls或者.excel格式的数据导入到Oracle中
  6. prism项目搭建 wpf_Prism 源码解读1-Bootstrapper和Region的创建
  7. 前端学习JQuery篇03——基本操作(效果)
  8. 冒泡排序(C#)实现
  9. python入门环境准备_python入门 之 环境配置(一)
  10. SAP中的client
  11. android知乎多图片选择,知乎开源Matisse图片选择器使用
  12. ManageEngine云ITSM系统助斯德雷特(Sterlite)年处理5万个工单
  13. 免费的二维码图片生成API接口和使用
  14. linux运行openfoam,OpenFOAM应用的准备工作
  15. Eclipse英文版视频教程(from Carleton University)
  16. 推荐系统多场景联合建模经验
  17. 基于交换芯片的五元组过滤功能
  18. 网站WEB都有哪些攻击?
  19. 【FPGA教程案例10】基于Verilog的复数乘法器设计与实现
  20. 项目组数据库脚本的维护方案

热门文章

  1. 同步手绘板——android端下笔后颜色变化
  2. Ubuntu root无密码登录
  3. 网速太慢?加快打开网页速度
  4. Messenger 麻烦了解一下
  5. 美团外卖电话面试的知识点
  6. python123注册邮箱_Python实现破解邮箱账号密码的实例
  7. Consistency Error (一致性误差) 的计算
  8. Java--运行机制及运行过程
  9. 大小端模式 字节序
  10. AndroidStudio系列之Live Templates