A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 钱程永 中级黑马   /  2014-7-18 20:26  /  1056 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

if,else与switch他们的效率值谁更高,分别适用于什么情况?

5 个回复

倒序浏览
switch 效率高
回复 使用道具 举报
百度下吧 嘎嘎 楼主来混分的吧
回复 使用道具 举报
if-else用在区间范围判断上效率比switch高;switch用在少量等值判断上效率更高些,且switch只支持int,byte,short和char类型
回复 使用道具 举报
在多条件下,if ...else...语句要从上至下一个一个的比较,但是switch可以直接命中。如果楼主懂汇编代码的话可以去看下编译后的汇编代码。if语句生成的代码会根据条件的增加而增加,所以多条件下switch会更快,但是switch也有不好的地方,比如支持的类型没有if灵活。
回复 使用道具 举报
一般只有2条路选择的时候,推荐使用if..else这种;如果有多条路选择,推荐使用switch(注意:switch(AA),此处的AA在jdk1.7之前,只能为int,或可以自动转为int的[sort,byte,char]以及enum枚举。jdk1.7可以支持String字符串类型);
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马