1、基础知识

java中switch-case语句的一般格式如下:

switch(参数) {  case 常量表达式1: break;  case 常量表达式2: break;  ...  default: break;
}  

注解:

(1)、switch接受的参数类型有10种,分别是基本类型的byte,short,int,char,以及引用类型的String(只有JavaSE 7 和以后的版本 可以接受String类型参数),enum和byte,short,int,char的封装类Byte,Short,Integer,Character

case 后紧跟常量表达式,不能是变量。

default语句可有可无,如果没有case语句匹配,default语句会被执行。

case语句和default语句后的代码可不加花括号。

如果某个case语句匹配,那么case后面的语句块会被执行,并且如果后面没有break关键字,会继续执行后面的case语句代码和default,直到遇见break或者右花括号。

2、4个测试用例

(1)、测试一

代码:

package cn.test;public class SwitchCase01 {public static void main(String[] args) {int i = 5;switch (i) {case 1:System.out.println("one");break;case 10:System.out.println("ten");break;case 5:System.out.println("five");break;case 3:System.out.println("three");break;default:System.out.println("other");break;}/*** 返回结果: five* * */}}

结果:

分析:

在本案例测试中,switch-case语句遵循其基本定义、语法,case语句、default语句没有出现错位情况,且case语句、default语句代码块中都包含break关键字,用于结束switch-case语句。

(2)、测试二

代码:

package cn.test;public class SwitchCase02 {public static void main(String[] args) {int i = 5;switch (i) {case 1:System.out.println("one");case 10:System.out.println("ten");case 5:System.out.println("five");case 3:System.out.println("three");default:System.out.println("other");;}}}

结果:

分析:

在本案例测试中,case语句、default语句的代码块中不包含break关键字。当switch(i)中的变量在case语句中匹配后,case语句的代码块被执行,由于该case语句的代码块中没有break关键字用于结束switch。故在switch-case中,程序继续执行后面的case语句代码和default,直到遇见break或者右花括号。

(3)、测试一

代码:

package cn.test;public class SwitchCase03 {public static void main(String[] args) {String x = "three";switch (x) {case "one":System.out.println("switch表达式中类型可用String类型,输入字符串为:" + x);break;case "two":System.out.println("switch表达式中类型可用String类型,输入字符串为:" + x);break;case "three":System.out.println("switch表达式中类型可用String类型,输入字符串为:" + x);break;case "four":System.out.println("switch表达式中类型可用String类型,输入字符串为:" + x);break;default:System.out.println("switch表达式中类型可用String类型");break;}}
}

结果:

分析:

在本案例测试中,主要是验证switch()-case语句中,switch()函数中的变量是否支持String类型。经验证,switch-case语句中,switch()函数中支持String类型。需要注意的是:在JDK1.7及以上版本中,Switch()函数中变量才支持String类型。

(4)、测试一

代码:

package cn.test;public class SwitchCase04 {public static void main(String[] args) {String x = "three";//String x = "six";System.out.println(TestSwitch(x));}public static String TestSwitch(String x) {switch (x) {case "one":x = "1";return "return关键字对case代码块中的影响,输出值为:" + x ;case "two":x = "2";return "return关键字对case代码块中的影响,输出值为:" + x ;case "three":x = "3";return "return关键字对case代码块中的影响,输出值为:" + x ;case "four":x = "4";return "return关键字对case代码块中的影响,输出值为:" + x ;default:x = null;return "return关键字对case代码块中的影响,输出值为:" + x ;}}
}

结果:

分析:

在本案例测试中,主要是验证switch()-case语句中return关键字对case代码块的影响。

根据MyEclipse编辑器所显示的结果,在Switch-case语句中,当case语句代码块中含有return关键字时,其可使程序跳出Switch-case语句。

Java中Switch-Case用法小结相关推荐

  1. Java 中 switch 的用法

    Java 中 switch 的用法 1.switch 中的表达式的数据的数据类型为 byte, short, int, char, String(jdk > 1.7支持 String 类型) 2 ...

  2. Java中getResourceAsStream的用法小结

    2019独角兽企业重金招聘Python工程师标准>>> Java中getResourceAsStream的用法小结 一.Java中的getResourceAsStream主要有以下三 ...

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

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

  4. java case switch,Java中Switch Case的替代方案

    Is there any alternative way to implement a switch case in Java other than if else which is not look ...

  5. 【JAVA】Java中switch的用法。

    基础内容:设置num值然后选择输出. package com.st; public class Demo_11_13{     public static void main(String[] arg ...

  6. java中switch语句用法详解

    1.switch语句的基本语法 int week =**: switch(week){//week为定义的变量 case **://case 之后使用空格再加 满足week的值 执行语句//当满足此c ...

  7. JAVA中Switch的用法

    1. 创建一个随机数 2.使用Switch switch(变量){ } switch后括号变量是几,就会进入哪个case语句中,如果不跳出case语句,就会继续往下走,所以尽量每个都添加break,如 ...

  8. Java中static final用法小结

    一.final 根据程序上下文环境,Java关键字final有"这是无法改变的"或者"终态的"含义,它可以修饰非抽象类.非抽象类成员方法和变量.你可能出于两种理 ...

  9. java break在switch_java中switch case语句需要加入break的原因解析

    java中switch case语句需要加入break的原因解析 java 中使用switch case语句需要加入break 做了具体的实例分析,及编译源码,在源码中分析应该如何使用,大家可以参考下 ...

  10. java中switch用法举例范围_Java中Switch用法代码示例

    一.java当中的switch与C#相比有以下区别 注:在java中switch后的表达式的类型只能为以下几种:byte.short.char.int(在Java1.6中是这样), 在java1.7后 ...

最新文章

  1. Go 学习笔记(60)— Go 第三方库之 go-redis(初始化 redis、操作 string、操作 list、操作 set、操作 hset)
  2. 在 alpine 中使用 NPOI
  3. python中seaborn画swarm图_Python可视化 | Seaborn5分钟入门(四)——stripplot和swarmplot
  4. 目前发展医疗物联网的困境解析
  5. 平安夜海报PNG免扣素材来了,全都在这|搜图114
  6. 前端日期计算年数_excel-常见日期 、时间函数
  7. 目前 NORTON SEP 及各类产品 离线升级包下载及升级方法
  8. Java多线程和并发(一),进程与线程的区别
  9. 用Intel线程构建块进行安全、可伸缩性的并行编程
  10. 高德地图--根据地理位置获取经纬度
  11. Qt QLineEdit QLabel 添加clicked事件
  12. JS实现轮播图(一看就懂逻辑清晰)
  13. 信息系统项目管理师-软考-B站自学
  14. mysql获取某天的开始时间和结束时间
  15. 311 - Technology 102 - Consumer Cyclical 中选市值最大的12只股票,一个月调仓一次
  16. 计算机中的网络怎么共享的打印机驱动,如何共享打印机,如何设置打印机共享打印机共享设置图解-中关村在线...
  17. 别再稀里糊涂的使用ls命令了,带你重新认识linux查看文件信息的ls【内涵长文,非命令参数罗列】
  18. 哔咔漫画怎样切换横屏?
  19. filebeat k8s健康探针
  20. r和python培训

热门文章

  1. 百旺如何看是否清卡_百旺开票系统每月清卡怎么操作?
  2. 电脑文件误删除恢复的解决办法
  3. 魔咒词典 HDU - 1880 (字符串hash 单hash转int或者 双hash )
  4. 云服务器如何链接本地打印机_如何在服务器上安装网络打印机
  5. kron matlab_使用kron来实现repmat, repelem的功能
  6. 电力系统中的Kron简化(Kron Reduction)
  7. Python-XML文件读取/添加/修改方法记录(一)
  8. etl全量增量抽取方式
  9. 《AI进化论:解码人工智能商业场景与案例》----读书笔记
  10. Greasy Fork 视频网页全屏脚本