Java中Switch-Case用法小结
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用法小结相关推荐
- Java 中 switch 的用法
Java 中 switch 的用法 1.switch 中的表达式的数据的数据类型为 byte, short, int, char, String(jdk > 1.7支持 String 类型) 2 ...
- Java中getResourceAsStream的用法小结
2019独角兽企业重金招聘Python工程师标准>>> Java中getResourceAsStream的用法小结 一.Java中的getResourceAsStream主要有以下三 ...
- java case switch面试_Java基础篇——Java中switch case语句用法及注意事项面试题9期
本文主要说一说关于switch case语句用法及注意事项,应对面试官的提问.希望可以帮助那些对switch存在错误和各种细节问题的"码友". switch-case注意事项 sw ...
- 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 ...
- 【JAVA】Java中switch的用法。
基础内容:设置num值然后选择输出. package com.st; public class Demo_11_13{ public static void main(String[] arg ...
- java中switch语句用法详解
1.switch语句的基本语法 int week =**: switch(week){//week为定义的变量 case **://case 之后使用空格再加 满足week的值 执行语句//当满足此c ...
- JAVA中Switch的用法
1. 创建一个随机数 2.使用Switch switch(变量){ } switch后括号变量是几,就会进入哪个case语句中,如果不跳出case语句,就会继续往下走,所以尽量每个都添加break,如 ...
- Java中static final用法小结
一.final 根据程序上下文环境,Java关键字final有"这是无法改变的"或者"终态的"含义,它可以修饰非抽象类.非抽象类成员方法和变量.你可能出于两种理 ...
- java break在switch_java中switch case语句需要加入break的原因解析
java中switch case语句需要加入break的原因解析 java 中使用switch case语句需要加入break 做了具体的实例分析,及编译源码,在源码中分析应该如何使用,大家可以参考下 ...
- java中switch用法举例范围_Java中Switch用法代码示例
一.java当中的switch与C#相比有以下区别 注:在java中switch后的表达式的类型只能为以下几种:byte.short.char.int(在Java1.6中是这样), 在java1.7后 ...
最新文章
- Go 学习笔记(60)— Go 第三方库之 go-redis(初始化 redis、操作 string、操作 list、操作 set、操作 hset)
- 在 alpine 中使用 NPOI
- python中seaborn画swarm图_Python可视化 | Seaborn5分钟入门(四)——stripplot和swarmplot
- 目前发展医疗物联网的困境解析
- 平安夜海报PNG免扣素材来了,全都在这|搜图114
- 前端日期计算年数_excel-常见日期 、时间函数
- 目前 NORTON SEP 及各类产品 离线升级包下载及升级方法
- Java多线程和并发(一),进程与线程的区别
- 用Intel线程构建块进行安全、可伸缩性的并行编程
- 高德地图--根据地理位置获取经纬度
- Qt QLineEdit QLabel 添加clicked事件
- JS实现轮播图(一看就懂逻辑清晰)
- 信息系统项目管理师-软考-B站自学
- mysql获取某天的开始时间和结束时间
- 311 - Technology 102 - Consumer Cyclical 中选市值最大的12只股票,一个月调仓一次
- 计算机中的网络怎么共享的打印机驱动,如何共享打印机,如何设置打印机共享打印机共享设置图解-中关村在线...
- 别再稀里糊涂的使用ls命令了,带你重新认识linux查看文件信息的ls【内涵长文,非命令参数罗列】
- 哔咔漫画怎样切换横屏?
- filebeat k8s健康探针
- r和python培训
热门文章
- 百旺如何看是否清卡_百旺开票系统每月清卡怎么操作?
- 电脑文件误删除恢复的解决办法
- 魔咒词典 HDU - 1880 (字符串hash 单hash转int或者 双hash )
- 云服务器如何链接本地打印机_如何在服务器上安装网络打印机
- kron matlab_使用kron来实现repmat, repelem的功能
- 电力系统中的Kron简化(Kron Reduction)
- Python-XML文件读取/添加/修改方法记录(一)
- etl全量增量抽取方式
- 《AI进化论:解码人工智能商业场景与案例》----读书笔记
- Greasy Fork 视频网页全屏脚本