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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© laoyang 黑马帝   /  2011-11-7 15:32  /  4921 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 laoyang 于 2011-11-21 10:52 编辑

三元运算符没有if()....else...执行效率高吗?if()里面要执行的如果只有一行代码,那么加{}和不加{}在执行是有差别吗?

7 个回复

倒序浏览
三元(其实我爱叫它“三目运算符”)的执行过程和if   else   语句是一样的
但是它在一行中书写,代码非常精练、执行效率更高。

评分

参与人数 1技术分 +1 收起 理由
宁超 + 1 赞一个!

查看全部评分

回复 使用道具 举报
哥们问的是三目运算符吧。
我觉得这个没有什么比较行。if else是一个语句的关键字,而三目运算符是一个运算符,也就是一个值。身份构造都不同。
if else的好处是结构清楚,而三目代码比较简洁,看着舒服。
如果非要说是效率,我觉得三目运算符应该是没有 if else 的效率高,因为用三目总会扯出一堆莫名其妙的数据类型转换,有时候很烦。
所以我觉得这个东西最后还是要看场合用的,就好像你杀猪可以选择用菜刀也可以选择用砍刀。至于你怎么选,随意咯

评分

参与人数 1技术分 +1 收起 理由
宁超 + 1 赞一个!

查看全部评分

回复 使用道具 举报
王赫麟 发表于 2011-11-7 16:12
哥们问的是三目运算符吧。
我觉得这个没有什么比较行。if else是一个语句的关键字,而三目运算符是一个运算 ...

我其实更喜欢用三元,但是以前做项目的时候,带我的一哥们说最好别这样用,郁闷:'(
回复 使用道具 举报
[/b]说实话 用着爽 别人读着费劲啊
回复 使用道具 举报
if()里面要执行的如果只有一行代码,那么加{}和不加{}在执行是有差别吗?

   如果只有一行代码的话,就可以省略{}
回复 使用道具 举报
史晓霞 黑马帝 2011-11-8 06:17:47
7#
如果if()里面要执行的只有一行代码,可以不加{}的,这时加{}和不加没有差别的,如果里面有多行,那就必须得加{}如果不加{}它就会执行它下面的一行,其他的不执行,而三元是不加{}时,表现的更简化哦,而if()都可以能用的,并不是都能用三元的,它是有点权限的
回复 使用道具 举报
吴超 金牌黑马 2012-2-12 14:18:54
8#
三元运算,是if 语句的简写
不过有局限性,因为三元   是运算符,计算机处理完必需有一个结果
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马