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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 狱之一族 于 2013-3-26 21:51 编辑

if语句和switch语句,在哪种情况下用哪种语句比较合适

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

6 个回复

倒序浏览
如果要判断一个变量是否是某一个值时,用switch...case..
如果要判断一个变量是否在某一个区间时,最好用if...else...

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
都表示逻辑判断关系。

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

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

不对的请指正,希望帮到你

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
if适用 区间的判断,Switch适用选项不多的场合,两个都能相互转换
用的时候,看哪个方便用哪个,像成绩的判定,用Switch也能实现,但是肯定不合适,相信自己也会觉得麻烦。

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
曾玉锋 发表于 2013-3-26 19:40
如果要判断一个变量是否是某一个值时,用switch...case..
如果要判断一个变量是否在某一个区间时,最好用if ...

谢谢。。。。
回复 使用道具 举报
庞登升 发表于 2013-3-26 20:17
都表示逻辑判断关系。

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

谢谢。。。。。
回复 使用道具 举报
宋兴征 发表于 2013-3-26 21:22
if适用 区间的判断,Switch适用选项不多的场合,两个都能相互转换
用的时候,看哪个方便用哪个,像成绩的判 ...

谢谢。。。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马