黑马程序员技术交流社区

标题: 三元运算符和if()....else...问题 [打印本页]

作者: laoyang    时间: 2011-11-7 15:32
标题: 三元运算符和if()....else...问题
本帖最后由 laoyang 于 2011-11-21 10:52 编辑

三元运算符没有if()....else...执行效率高吗?if()里面要执行的如果只有一行代码,那么加{}和不加{}在执行是有差别吗?
作者: 刘福双    时间: 2011-11-7 16:04
三元(其实我爱叫它“三目运算符”)的执行过程和if   else   语句是一样的
但是它在一行中书写,代码非常精练、执行效率更高。
作者: 王赫麟    时间: 2011-11-7 16:12
哥们问的是三目运算符吧。
我觉得这个没有什么比较行。if else是一个语句的关键字,而三目运算符是一个运算符,也就是一个值。身份构造都不同。
if else的好处是结构清楚,而三目代码比较简洁,看着舒服。
如果非要说是效率,我觉得三目运算符应该是没有 if else 的效率高,因为用三目总会扯出一堆莫名其妙的数据类型转换,有时候很烦。
所以我觉得这个东西最后还是要看场合用的,就好像你杀猪可以选择用菜刀也可以选择用砍刀。至于你怎么选,随意咯
作者: laoyang    时间: 2011-11-7 16:15
王赫麟 发表于 2011-11-7 16:12
哥们问的是三目运算符吧。
我觉得这个没有什么比较行。if else是一个语句的关键字,而三目运算符是一个运算 ...

我其实更喜欢用三元,但是以前做项目的时候,带我的一哥们说最好别这样用,郁闷:'(
作者: 王赫麟    时间: 2011-11-7 16:21
[/b]说实话 用着爽 别人读着费劲啊
作者: 804404980    时间: 2011-11-8 04:57
if()里面要执行的如果只有一行代码,那么加{}和不加{}在执行是有差别吗?

   如果只有一行代码的话,就可以省略{}
作者: 史晓霞    时间: 2011-11-8 06:17
如果if()里面要执行的只有一行代码,可以不加{}的,这时加{}和不加没有差别的,如果里面有多行,那就必须得加{}如果不加{}它就会执行它下面的一行,其他的不执行,而三元是不加{}时,表现的更简化哦,而if()都可以能用的,并不是都能用三元的,它是有点权限的
作者: 吴超    时间: 2012-2-12 14:18
三元运算,是if 语句的简写
不过有局限性,因为三元   是运算符,计算机处理完必需有一个结果




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