黑马程序员技术交流社区

标题: if语句和switch语句,在哪种情况下用哪种语句比较合适 [打印本页]

作者: 狱之一族    时间: 2013-3-26 19:33
标题: if语句和switch语句,在哪种情况下用哪种语句比较合适
本帖最后由 狱之一族 于 2013-3-26 21:51 编辑

if语句和switch语句,在哪种情况下用哪种语句比较合适
作者: 曾玉锋    时间: 2013-3-26 19:40
如果要判断一个变量是否是某一个值时,用switch...case..
如果要判断一个变量是否在某一个区间时,最好用if...else...
作者: 庞登升    时间: 2013-3-26 20:17
都表示逻辑判断关系。

if得到的是一个bool变量。if(bool)=true则执行语句,bool=false则跳过语句。if语句可以判断变量值是否在一个区间里面,也可以判断变量值是否为一个定值。但是效率低,每次判断都要取出一遍if。

switch语句,用于判断变量值为一个定值。而无法判断变量值是否落在一个区间里面。但是效率比较高,因为变量仅仅被switch这个语句取出一次,之后就全部是与case比较。
switch(参数)
{
case1;
break;
case2;
break;
}

不对的请指正,希望帮到你
作者: 宋兴征    时间: 2013-3-26 21:22
if适用 区间的判断,Switch适用选项不多的场合,两个都能相互转换
用的时候,看哪个方便用哪个,像成绩的判定,用Switch也能实现,但是肯定不合适,相信自己也会觉得麻烦。


作者: 狱之一族    时间: 2013-3-26 21:50
曾玉锋 发表于 2013-3-26 19:40
如果要判断一个变量是否是某一个值时,用switch...case..
如果要判断一个变量是否在某一个区间时,最好用if ...

谢谢。。。。
作者: 狱之一族    时间: 2013-3-26 21:50
庞登升 发表于 2013-3-26 20:17
都表示逻辑判断关系。

if得到的是一个bool变量。if(bool)=true则执行语句,bool=false则跳过语句。if语句 ...

谢谢。。。。。
作者: 狱之一族    时间: 2013-3-26 21:51
宋兴征 发表于 2013-3-26 21:22
if适用 区间的判断,Switch适用选项不多的场合,两个都能相互转换
用的时候,看哪个方便用哪个,像成绩的判 ...

谢谢。。。。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2