switch-case参数类型
switch语句用法:
0. switch语句由一个控制表达式和多个case标签组成
1. switch控制表达式支持的类型有byte、short、char、int、enum(JDK5)、String(JDK7)
2. switch-case语句完全可以与if-else语句互转,但通常来说,switch-case语句执行效率要高
3. default语句在当前switch找不到匹配的case时执行,default并不是必须的
4. 一旦case匹配,就会顺序执行后面的程序代码,直到遇见break(根据这一特点,可以写一些巧妙的代码)
看下面的示例:
public class SwitchTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
switchTest((byte)1);
switchTest((short)2);
switchTest(3);
switchTest('4');
switchTest("5");
switchTest(Gender.MAN);
}
public static void switchTest(int var) {
switch (var) {
case 3:
System.out.println(var);
break;
}
}
/*public static void switchTest(boolean var) {
switch (var) {
case true:
System.out.println(var);
break;
}
}*/
public static void switchTest(short var) {
switch (var) {
case 2:
System.out.println(var);
break;
}
}
public static void switchTest(byte var) {
switch (var) {
case 1:
System.out.println(var);
break;
}
}
/*public static void switchTest(long var) {
switch (var) {
case 1:
System.out.println(var);
break;
}
}*/
public static void switchTest(String var) {
switch (var) {
case "5":
System.out.println(var);
break;
}
}
public static void switchTest(char var) {
switch (var) {
case '4':
System.out.println(var);
break;
}
}
public static void switchTest(Gender var) {
switch (var) {
case MAN:
System.out.println(var);
break;
default:
System.out.println("error");
break;
}
}
}
enum Gender{
MAN, WOMAN
}
switch的参数类型:
在JDK6以前,switch仅支持能够等价为int的类型(byte、short、int、char)和枚举类型
在JDK7中加入了String
但long、float、double、boolean等不支持
switch-case参数类型的更多相关文章
- switch的参数类型
switch(expr1)中,expr1是一个整数表达式,整数表达式可以是int基本类型或Integer包装类型,由于,byte,short,char都可以隐含转换为int,所以,这些类型以及这些类型 ...
- SWIFT中用Switch case 类类型
有时觉得SWIFT的语法真的强大而又变态,不说了,直接上代码瞅瞅: 首先先定义一个交通工具的父类 class Vehicle{ var wheels:Int! var speed:Double! in ...
- java switch case 枚举类型的反编译结果
package com.example.demo; import java.io.PrintStream; // Referenced classes of package com.example ...
- C语言中switch case语句可变参实现方法(case 参数 空格...空格 参数 :)
正常情况下,switch case语句是这么写的: : : ... ;break ; default : ... ;break ; } 接下来说一种不常见的,但是对于多参数有很大的帮助的写法: 先给一 ...
- java.lang.UnsupportedClassVersionError: JVMCFRE003解决方法--jdk 1.6 中switch的参数无法使用String类型
在jdk 1.6版本中,switch的参数无法使用String类型,只支持int,char,enum类型. 1.6版本之前不支持switch语句存在字符串的判断,升级到1.7或1.8及以上版本即可.
- js switch case 判断的是绝对相对===,值和类型都要相等
js switch case 判断的是绝对相对===,值和类型都要相等
- PowerShell控制台输出符号+函数参数类型指定+文本内容读取
There are several ways: Write-Host: Write directly to the console, not included in function/cmdlet o ...
- if else 与switch case判断
基础数据类型(四类八种 ) 不能为null. 整数型 byte 取值范围2的8次方 short 取值范围2的16次方 int 取值范围2的32次方 一般用int long 取值范围2的64次方 浮点型 ...
- 使用反射+策略模式代替项目中大量的switch case判断
我这里的业务场景是根据消息类型将离线消息存入mongoDB不同的collection中.其中就涉及到大量的分支判断,为了增强代码的可读性和可维护性,对之前的代码进行了重构. 先对比一下使用反射+策略模 ...
随机推荐
- win7下配置IIS服务器方法
网站爱好初学者必看的win7系统配置自己的IIS,可以在你自己的电脑上配置网站服务器发不到网上,下面就跟着我的步骤一起做吧100%成功. 步骤方法 1.点击开始-------控制面板这个就是打开的控制 ...
- C++11的新特性lambda的小试牛刀RAII
C/C++的资源是手动管理的 这导致程序员在申请资源时,最后用完了偶尔会忘记回收 C++语言的发明者倡导RAII,资源获取即初始化 使用对象来管理资源的生命周期,在超出作用域时,析构函数自动释放资源 ...
- hadoop 常用配置项
core-site.xml name value Description fs.default.name hdfs://hadoopmaster:9000 定义HadoopMaster的URI ...
- html5自定义标签选择器
* E[attr]:只使用属性名,但没有确定任何属性值 * E[attr="value"]:指定属性名,并指定了该属性的属性值.必须和元素的属性完全匹配 * E[attr~=&qu ...
- 你的 Docker 应用是安全的吗?
近一年来,Docker 已经逐渐成为 container 界的事实标准,成为技术人员不可或缺的技能之一,就像 Docker 宣称的那样,「Build,Ship,and Run Any App,Anyw ...
- servlet和struts2一起使用,实现绝对路径下的图片输出到jsp页面
如果我们在web.xml中配置的struts2的接收请求的路径为: <filter-mapping> <filter-name>struts2</filter-name& ...
- Spark、Shark集群安装部署及遇到的问题解决
1.部署环境 OS:Red Hat Enterprise Linux Server release 6.4 (Santiago) Hadoop:Hadoop 2.4.1 Hive:0.11.0 JDK ...
- python的相对路径导入问题
用python做项目,如果项目大了,或者想更好的管理程序,总是要使用包.包解决了命名冲突的问题. 今天在使用python的相对路径导入的时候,遇到了不少的问题. 包导入情形: src/ __in ...
- 《Apache Spark源码剖析》
Spark Contributor,Databricks工程师连城,华为大数据平台开发部部长陈亮,网易杭州研究院副院长汪源,TalkingData首席数据科学家张夏天联袂力荐1.本书全面.系统地介绍了 ...
- -_-#【Better Code】throttle / debounce
浅谈javascript的函数节流 javascript函数的throttle和debounce throttle 疯狂触发事件,固定步调执行 debounce 疯狂触发事件,不会执行 var res ...