黑马程序员技术交流社区
标题:
关于if-else if-和switch判断选择
[打印本页]
作者:
吴涛
时间:
2014-3-5 15:17
标题:
关于if-else if-和switch判断选择
if-else if和switch的底层实现原理,是怎么样的?
为什么,switch就比if-else if高效?
对这两个的使用,一般选择哪个?根据什么来选择?
作者:
wxk105
时间:
2014-3-5 16:02
if和switch语句很像具体什么场景下应该使用哪个语句?
对于
判断的具体数值不多
,而且符合byte、int、short,char这四种类型,两个都可以使用建议使用switch;
效率高原因是
:switch语句与case搭配如果判断一旦匹配就会break;而if-else用于区间的判断比较合适,返回结果是boolean。希望对你有帮助可参考毕老师对if和switch语句视频的具体讲解。
作者:
三眼皮
时间:
2014-3-5 16:17
这个大学老师有讲过,它俩的实现原理是不一样的,if...else的底层是比教语句,而swtich则是一张地址表,只比较一次就转到寻址里边。但是,我感觉还是具体问题具体分析,只是大多时候swtich的效率比较高,也有特殊情况的。总的来说,如果判断分支比较多,就用if...else的话会把自己给绕糊涂的,用swtich则比较清晰。仅供参考。。。
作者:
osully
时间:
2014-3-5 16:55
原理我就不清楚了,但是用法太清楚了!如下:
如果判断的具体数值不多,而是符合byte short int char这四种类型。
虽然两个语句都可以使用,建议使用swtich语句。因为效率稍高。
其他情况:对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2