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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

if语句和switch语句有什么区别吗?求大神指点,具体一点最好。

14 个回复

倒序浏览
哥们你问的这么抽象  又要具体的回答。。。。。。
我只知道在应用上,需要做范围判断时用if;需要对数目不多的具体数值做判断时,用switch。
回复 使用道具 举报
hoop.zeng 发表于 2015-4-29 22:20
哥们你问的这么抽象  又要具体的回答。。。。。。
我只知道在应用上,需要做范围判断时用if;需要对数目不 ...

非常感谢:handshake
回复 使用道具 举报
首先,数据类型运用范围就不同,在这switch适合做小数量的工作!
回复 使用道具 举报
也是主要区别吧
回复 使用道具 举报
Swich  适合小范围的  if使用这样的
回复 使用道具 举报
黄冬 中级黑马 2015-4-29 22:41:52
7#
具体来说,如果是对一个范围的判断或者boolean类型的表达式的判断,用if语句。
如果是对几个数据的判断,一般是选择switch,而且switch的多个数据可以同时被加载到内存中,效率更高。
回复 使用道具 举报
(1)switch用于做选择使用的。一般用于几个常量的判断。
  switch会把几个常量值直接加载到内存,在判断的时候,效率要比if高。
  所以,针对几个常量的判断,一般选择switch语句。
(2)if 用于做判断使用的。
  常见于对某个范围进行判断,或者几个变量进行判断,还有就是boolean表达式的判断。
(3)switch 可以转换成 if 语句,反之不一定可以
回复 使用道具 举报
xiaowen_wu 发表于 2015-4-29 22:47
(1)switch用于做选择使用的。一般用于几个常量的判断。
  switch会把几个常量值直接加载到内存,在判断的时 ...

谢谢,很详细了。。。。。
回复 使用道具 举报
if  与 switch 可以相互转化,如果变量一定是用switch比较好,当变量不确定时用if就比较好
回复 使用道具 举报
if是做判断,switch是做选择
回复 使用道具 举报
if和switch语句很像
具体什么场景下,应用那个语句呢?
如果判断的具体数值不多,而是符合byte,short,int,char这四种类型。虽然两个语句都可以使用,建议使用switch语句,因为效率稍高。

其他情况:对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广!

回复 使用道具 举报
这种非常基础的问题需要自己摸清楚,如果这都理不清,还是考虑其它的行业
回复 使用道具 举报
2119391569 发表于 2015-4-30 16:53
if和switch语句很像
具体什么场景下,应用那个语句呢?
如果判断的具体数值不多,而是符合byte,short,int,c ...

很好,谢谢
回复 使用道具 举报
可以等价交换
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马