java if和switch的区别

 我来答
gaoyongbo026
2017-09-26 · TA获得超过297个赞
知道小有建树答主
回答量:227
采纳率:100%
帮助的人:107万
展开全部
从使用表面看
if是分支只有两个,如果情况多中就得多个if-else
swith可以同时支持任意多个分支
从设计上看
if就是用来根据真假真正做分支用的,分支执行非此及彼,如果多个分支就得多重判断,无论前面的条件是否成立都得判断一遍,直至找到真正的true,就找到这个程序的分支流程而走开了
swith则是一种通道开关设计,它的条件跟真假无关,无需逐一判断,它寻找的是一个通道入口,给定一个值立即就按它对应的入口执行后续流程而不是彻底走开,若要彻底走开还得特意break或者return一下
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百日梦魔
2017-09-26
知道答主
回答量:7
采纳率:0%
帮助的人:3.6万
展开全部
if和switch都是条件判断语句,在效果上是没有什么差别的,而不同,我们可以从效率上来讲~ 举一个很简单的例子: if(A>B) {A=B;} else {B=A; } 如果将这个例子放在switch 语句中,也并不是不能实现,但是实现起来可能会比较麻烦一些,因为在switch语句中 case中要求的是常量,一般是不能进行逻辑判断的, 所以这也是if语句优于switch语句的地方! 但是如果您判断的都是几个常量的数据,我建议您最好采用switch语句,如下: switch(A) { case:xxxx ///程序代码 break; case:xxxxxx ///程序代码 break; } http://www.csdnit.com/ 这样的语句,虽然if语句也是能实现的,但是性能就比switch差的有点远了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式