黑马程序员技术交流社区
标题:
if和switch语句
[打印本页]
作者:
咖啡
时间:
2011-11-17 19:54
标题:
if和switch语句
if和switch语句很像
具体什么场景下,应用哪个语句呢?
作者:
申绪胜
时间:
2011-11-17 19:58
switch一般是分多种情况,然后根据不同情况分支的,用switch时一般至少有三种情况,两种情况的话可以用if else
作者:
阮金明
时间:
2011-11-17 20:00
老毕的原话:
如果判断的具体数值不多,而且符合byte,short,int,char这四种类型。虽然两个语句都可以使用,建议使用switch语句,因为效率高
其他情况:对区间判断,对结果为boolean类型的判断,使用if
作者:
泼孩
时间:
2011-11-17 20:30
1. if 条件判断语句,可以判断区间 ,switch选择结构,很难用来判断区间
2.if 可以执行结果为boolean类型的语句,switch不可
3.如果对具体数值进行判断可用switch,值不多的情况下,使用if相对效率较高
相比之下,if的使用范围更广、
作者:
田忠
时间:
2011-11-17 20:32
/*if和seitch语句很像。
具体什么场景下,应用哪个语句呢?
如果判断的具体数值不多,而是符合byte short int char这四种类型;
虽然两个语句都可以使用,建议使用swtich语句,因为效率稍高。
其他情况:对区间判断。对结果为boolean类型判断,使用if,if的使用范围更广;
*/
作者:
田忠
时间:
2011-11-17 20:33
确实是老毕的原话
作者:
清秋
时间:
2011-11-17 20:56
有时候用Switch,程序可读性更强点
作者:
咖啡
时间:
2011-11-20 12:12
懂了,谢谢
作者:
徐杨
时间:
2011-11-20 16:42
swith 效率相对稍微高一点 如果是多分枝程序 建议用swith
但是swith 不是使用String传值 需用枚举封装后传递 *(前两天在这里学到的~呵呵)
作者:
黄晓天
时间:
2011-11-20 18:22
建议不用switch语句,
作者:
ZHB
时间:
2011-11-20 20:25
switch感觉目的性很强,if模糊,故目的性强的选择switch,模糊的选择if。
作者:
程立彬
时间:
2011-11-23 13:39
基本类型判断最好使用Switch,效率比较高,而且你不觉的嵌套了很多的 if else 是非常烦人吗
作者:
海~默默
时间:
2011-11-23 13:42
所有的switch语句都可以用if语句来替换!!!
作者:
王丰盛568
时间:
2011-11-23 14:10
if语句特点:
a,每一种格式都是单条语句。
b,第二种格式与三元运算符的区别:三元运算符运算完要有值出现。好处是:可以写在其他表达式中。
c,条件表达式无论写成什么样子,只看最终的结构是否是true 或者 false;
switch语句特点:
a,switch语句选择的类型只有四种:byte,short,int , char。
b,case之间与default没有顺序。先执行第一个case,没有匹配的case执行default。
c,结束switch语句的两种情况:遇到break,执行到switch语句结束。
d,如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束。
if == switch(应用范围比if小)
当你发现一个if elseif 里面使用的是byte、short、char、int、枚举的等值比较时,可以用switch替换!
三元表达式 if ... else 赋值操作 优先使用三元表达式!!!虽然两个语句都可以使用,建议使用swtich语句。因为效率稍高。
其他情况:对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广。
作者:
李晓斌
时间:
2011-11-23 14:20
if可判断具体的区间,且可判断布尔型;switch就不行了,区间一大的话,就要一个一个列出来了,相对来说就比if语句复杂多了
作者:
赵燕燕
时间:
2011-11-23 17:20
switch语句可以判断的数据类型是:byte、short、int、char型
if语句可以判断的数据类型是:byte、short、int、char、boolean型
当判断的类型是byte、short、int、char这四种时,如果知道具体数值并且个数不多时,就是使用switch,这样效率高。
当判断的是某个区间也就是数值个数较多或者是boolean型时,就使用if语句
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2