java switch的效率怎么样 JAVA中的switch详解
switch case 语句有如下规则:
switch 语句中的变量类型可以是: byte、short、int 或者 char。从 Java SE 7 开 始,switch 支持字符串String 类型了,同时 case 标签必须为字符串常量或字面 量。
switch 语句可以拥有多个 case 语句。每个 case 后面跟一个要比较的值和冒号。
case 语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字 面常量。
当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句。
当遇到 break 语句时,switch 语句终止。程序跳转到 switch 语句后面的语句执行。case 语句不必须要包含 break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句。
switch 语句可以包含一个 default 分支,该分支一般是 switch 语句的最后一个分 支(可以在任何位置,但一般在最后一个)。default 在没有 case 语句的值和变 量值相等的时候执行。default 分支不需要 break 语句。(如果case语句中没有break 语句,程序会一直执行到default 分支)
一、switch 介绍
switch 语法格式:
switch (表达式) {
case 常量表达式或枚举常量:
语句;
break;
case 常量表达式或枚举常量:
语句;
break;
......
default: 语句;
break;
复制代码
switch 匹配的表达式可以是:
byte、short、char、int类型及 这4种类型的包装类型;
枚举类型;
String 类型;
case 匹配的表达式可以是:
常量表达式;
枚举常量;
注意一点:case提供了switch表达式的入口地址,一旦switch表达式与某个case分支匹配,则从该分支的语句开始执行,一直执行下去,即其后的所有case分支的语句也会被执行,直到遇到break语句。
运行结果:
匹配成功1 匹配成功2 匹配成功3
switch成功匹配了a分支,但a、b分支都没有 break 语句,所以一直执行a分支后的所有语句,直到遇到c分支的break语句才终止。
他与下方的结果是不一样的:
package test;
public class SwitchTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
String a = "c";
switch (a) {
case "a":
System.out.println("匹配成功a");
//break;
case "b":
System.out.println("匹配成功b");
//break;
case "c":
System.out.println("匹配成功c");
break;
default:
System.out.println("hhhh");
break;
在最后一个case中才判断正确,则前面case中的内容都不会被输出
Java中switch和if语句的区别
switch和if语句都是Java的选择语句,这两种语句都是允许在程序运行时控制程序的执行过程。
switch和if-else相比,由于使用了Binary Tree算法,绝大部分情况下switch会快一点,除非是if-else的第一个条件就为true。
编译器编译switch与编译if…else…不同。不管有多少case,都直接跳转,不需逐个比较查询。
相比于if-else结构,switch的效率绝对是要高很多的,但是switch使用查找表的方式决定了case的条件必须是一个连续的常量。而if-else则可以灵活的多。
switch效率高,从汇编代码可以看出来。switch只计算一次值,然后都是test。
switch的效率与分支数无关。当只有分支比较少的时候,if效率比switch高(因为switch有跳转表)。分支比较多,那当然是使用switch。
11、switch 是否能作用在byte 上,是否能作用在long 上,是否能作用在String上?
答:在Java 5以前,switch(expr)中,expr只能是byte、short、char、int。从Java 5开始,Java中引入了枚举类型,expr也可以是enum类型,从Java 7开始,expr还可以是字符串(String),但是长整型(long)在目前所有的版本中都是不可以的。
图片
- 2022年全国赛艇锦标赛在浙江 河北省三部电视剧获第31届中 今年1至9月河北省电子信息产
- 衡水谋划了32个特色果蔬单品 河北省打出资金和政策“组合 全国219个城市被授予“国家 河北湿地公园数量有了跨越式 粤港澳大湾区的中欧班列开行 中国空军“八一”飞行表演队
- 2022年第22号台风“尼格”已 中国空间站迎来重大时刻 空 粤支持韶关建设国家老工业城 清远清城区全新打造的校外未 广州年内将在南沙各镇街布局 广东获第二十三届中国专利奖
- 河北邢台出台20条措施 努力 河北高邑指导企业挖掘传统文 石家庄一90后志愿者成功捐献 前三季度石家庄规上工业高新 江西资溪“两山转化中心”推 畅通道兴贸易 广州海关关区
精彩推送
- java switch的效率怎么样 JAVA中的switch详解
- 内存泄漏的原因有哪些 malloc函数的功能及用法盘点
- 京津冀携手开展2022“世界艾滋病日”主题宣传活动
- 波司登发布22/23财年半年报,延续稳健高质量增长
- java面试题有几道怎么答 208道java面试题及答案汇总
- tcp ip协议中文意思是什么 TCP/IP模型各层使用协议介绍
- druid是阿里巴巴的什么 Druid是如何监控DB池连接的
- 珊瑚红颜色代码是多少 颜色对应的代码大全一览
- JDBC是什么意思 JDBC技术相关接口有哪些
- mysql安装流程是怎样的 mysql安装和下载教程一览
- update语句怎么理解 如何用update语句修改单个属性语法
- curl命令如何发送GET请求?curl命令的常见用法有哪些?curl命令详解
- 十八数藏入选2022年度数字藏品企业TOP30
- 什么是数据中台?数据仓库之父是谁?数据中台的前世今生介绍
- scp是什么的缩写?scp命令格式是什么样的 scp命令的实际应用概述
- 大树科技与能链控股达成战略合作 共建数字能源产融服务平台
- addEventListener() 方法详解 addEventListener参数说明
- 大树科技与国新健康达成战略合作,共建数字医疗产融新生态
- 友邻YONi4.0上线:流量赋能,企业互帮,共赢未来
- xiao77论坛入口在哪?xiao77论坛如何发帖及传图?
- 今日申购:欧克科技、柏星龙、特瑞斯 头条焦点
- 长安逸动变速箱线速接口处渗油 车主投诉后仅一天解决:全球新动态
- 新能源车出口大热 中国品牌到欧洲“华山论剑”-世界快看
- 热门:今日上市:卡莱特、倍益康
- 【环球时快讯】加快电动化布局落地 BBA能否重塑市场格局?
- 全球今热点:纳指涨4.41% 小鹏涨47.3%蔚来涨21.7%虎牙涨19.7%
- 余额宝收益怎么算公式是什么 计算余额宝收益的前提是什么
- 股票放量上涨到底是意味着什么 底部放量上涨后势如何
- 缩表是什么意思央行缩表意味着什么 资产负债表反映企业什么
- 转账限额特点有哪些 每天建行手机银行转账限额是多少
- 宝沃汽车正式宣告破产 宝沃汽车破产原因有哪些
- 8000元1件羽绒服直播间仅卖800元质量过关吗 直播间羽绒服为啥那么便宜
- 为什么中概股离岸人民币又沸腾了 热门中概股最新行情介绍
- 如何让卖家给你乖乖退款?如何让商家快速退货?
- 退货的时候千万别选择退运费是真的还是谣言 运费险退运费的方法介绍
- 社保卡丢失如何补办最快有哪些办法 补办社保卡的材料有哪些
- 西山科技业绩连升产品单价降 界面:股权转让存猫腻 每日看点
- 环球短讯!光格科技业绩连升净利走势背离现金流 应收账款高企
- 海思科:控股股东王俊民质押962万股
- 河南商丘:购买商品房按契税总额15%予以补贴_当前热讯
- 全球热资讯!中国A股房地产板块周二上演“涨停潮”
- 中国西北、华东两条高铁开工建设
- 四川都江堰至四姑娘山山地轨道交通项目全线首座隧道贯通
- 天津设置125亿元再贷款再贴现额度支持京津冀产业链融资:环球微资讯
- 全球焦点!网购“戴森”当礼物 吹风时自动停机
- 全球热消息:长春市民在苹果店买手机花1400办延保服务 后盖碎了返厂换新难
- 长城宽带用了一年多竟发现户主不是自己 这到底是啥情况?
- 环球新消息丨居家办公时网络突然中断 一查竟是联通宽带被移机了?
- 海底捞被指收取包间服务费 客服:确实有这项收费
- 时创能源、航天环宇12月7日科创板首发上会
- 证监会同意凌玮科技、鸿铭股份创业板IPO注册:世界新要闻
- 非法代理投诉陷阱多,警银联动共同打击黑产
- 世界速递!东星医疗龙虎榜:机构净卖出764.45万元
- 磐安城乡建设3.19亿元竞得金华磐安县1宗商住用地_天天观点
- 天天快讯:浦江城投3.25亿元竞得金华浦江1宗商住用地
- 昆船智能龙虎榜:机构净卖出592.21万元-微头条
- 环球今亮点!机构:前11月TOP100房企销总额为67268.1亿元,同比下降42.1%
- 冠寓合资企业北京龙湖方恒30%股权被挂牌 转让底价150万元
- 中交地产20亿元资产支持ABS已获受理
- 天天微资讯!贝壳找房:第三季度净收入176亿元,总交易额7371亿元
- 保利发展龙虎榜:机构净卖出4.52亿元
- 勤上股份拟终止向晶腾达定增 股价跌0.84%
- 首开股份跌停 机构净卖出1.59亿元 焦点速读
- 中远海能龙虎榜:机构净卖出1.34亿元 新视野
- 当前关注:华金证券原2保代违规被监管谈话 现均跳槽至东北证券
- 【快播报】广汽本田全新缤智正式上市 售价13.29万元起
- 卫龙:坚守品质初心 引领世界美味
- 沉浸式学习更利于孩子上网课,科大讯飞AI学习机有好方法
- 破发股艾力斯跌5.6% 上市即巅峰募20亿中信证券保荐
- 全球焦点!合盛硅业跌6.69% 安信证券在其高点唱多
- 沃森生物跌6.32% 股价高点下跌后招商证券最先唱多
- 世界简讯:破发股信德新材跌4.1% IPO超募15亿元中信证券保荐
- 德邦科技跌8.9% 上市超募8.4亿俩月后董事长协助调查:世界快报
- 游戏品类加速回暖,文娱内容持续火热——2022年IAA行业品类发展洞察系列报告·第三期
- 环球关注:招商银行厦门分行被责令改正 基金销售业务存六项违规
- 凯淳股份前三季净利降149% 去年上市即巅峰募资5亿_每日消息
- 京杭等四城一日卖地505.78亿元 民营房企加大拿地投资力度
- 湖南:实施十二项重点任务推进乡村建设 快播报
- 焦点快看:极氪001提车后出现动力受限、无法加速故障 车主投诉后已协商退车
- 环球焦点!监管定调打造REITs市场“保租房板块” 新发项目有望扩展至二线城市
- 正和生态前三季亏损 招商证券保荐去年上市现今破发
- 国家统计局:11月份制造业PMI为48.0%_天天新资讯
- 【独家】汽车整车板块涨6.05% 安凯客车涨10.08%居首
- 中国金茂拟转让上海洮茂置业49%股权 涉普陀区桃浦科技智慧城项目-热头条
- 天天热文:建设银行厦门分行被责令改正 基金销售业务存四项违规
- 抢1212份免单!掌上明珠家居超级省年终大促劲爆来袭!
- 凯叔讲故事X搜狗输入法联手“整活”,麦小米的100个烦恼等IP主题皮肤上线
- transformer是什么意思 Transformer模型详细介绍
- 什么是Vuex?vuex官方解释是什么?Vuex详解
- maven repository是什么意思 MavenRepository官网崩溃怎么解决
- LSTM解决了RNN中什么问题?LSTM为什么能够缓解梯度消失?LSTM常见面试题
- jwt是什么东西?JWT的本质是什么?JWT的认证流程介绍
- java下载途径有哪些?Java的官网下载链接一览 java17下载安装教程
- 设计模式分为几类?工厂类设计模式的代码是什么?
- flex布局是什么意思通俗解释 flex布局中的一些基本概念介绍
- UML模型图的构成有哪些?5类UML图的分类法 UML相关概述介绍
- 中小学生如何学习Python编程 python基础教程初学者指南一览
- Git下载路径是什么?Git安装组件有哪些?
- 环球今日报丨打通动力电池回收关键堵点
- 大树科技携手云采科技,助力政府公共资源交易数字化产融建设
金融
财经
要闻
公司
吉卜力工作室如今已加入到主题公园的浪潮,并于11月1日正式对公众开放全球首个项目,将《龙猫》等经典作品的场景复原至现实世界。对于吉卜
详细>>随着在线旅游企业数量的不断增多,售卖不合理低价旅游产品、违规利用用户个人信息等问题也时有发生。11月1日,文旅部发布《文化和旅游部关
详细>>两个小时,这是越南全国首票榴莲从装车到运送至我国广西崇左友谊关口岸的时间。得益于一体化供应链,2021年,中国与越南进出口贸易额达到23
详细>>11月1日,北京商报记者梳理发现,截至9月末,10家A股上市农商行资产规模均有所扩大,重庆农商行、上海农商行仍以万亿元总资产位居前列。营
详细>>西贝餐饮集团(以下简称西贝)在儿童餐的道路上越走越深。11月1日,北京商报记者从西贝获悉,其将推出西贝儿童餐零售产品。目前,部分西贝门
详细>>新一期麻辣粉和逆回购操作如期公布。9月15日,央行发布消息称,为维护银行体系流动性合理充裕,开展4000亿元中期借贷便利(MLF)操作和20亿元
详细>>