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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李海龙 黑马帝   /  2011-12-10 09:57  /  4875 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

表达1?表2:表3  什么意思  可以替换 if else  如何更好的利用三元表达式 原理是什么 如何更好的学会 求高手赐教  

评分

参与人数 1技术分 +2 收起 理由
陈涛 + 2

查看全部评分

10 个回复

倒序浏览
如果表达式1为true,则整个表达式以表2为结果,若为false,则以表3为结果,这样比写if else简化了不少代码。

评分

参与人数 1技术分 +2 收起 理由
陈涛 + 2

查看全部评分

回复 使用道具 举报
最简单的例子:
int i=3;
i>0? true:false;

其实可以把三元运算符换成if...else语句
可以把上面的例子改成:
    int i=3;
   if(i>0)
  return true;
else
return false;

评分

参与人数 1技术分 +2 收起 理由
李荣壮 + 2

查看全部评分

回复 使用道具 举报
表达式1为布尔类型的表达式,如果成立输出表达式2的值,不成立则输出表达式3的值;
当一个表达式的值只有两种情况时(如:性别,不是男,就是女了),就可以使用三元表达式,当然亦可以if else结构;
如果这两种都可以使用时,当然选用三元表达式了。。。
{:soso_e113:}

评分

参与人数 1技术分 +1 收起 理由
李荣壮 + 1

查看全部评分

回复 使用道具 举报
三元运算符比较适合简单的赋值语句,不适合于根据比较结果执行大量代码的情况。此时应该使用if语句。

评分

参与人数 1技术分 +1 收起 理由
李荣壮 + 1

查看全部评分

回复 使用道具 举报
提示: 作者被禁止或删除 内容自动屏蔽
回复 使用道具 举报
王富恒 黑马帝 2011-12-13 21:55:09
7#
表达式1?表达式2:表达式3(三元)
a>b?a:b
回复 使用道具 举报
陆亚 黑马帝 2011-12-14 10:35:48
8#
可以使代码精炼,
回复 使用道具 举报
liuyinggzu 黑马帝 2011-12-14 10:57:24
9#
三元表达式中的表达式如果过长会使代码可读性变差,而且只是看上去精简,实际性能影响不大,所以尽量使用if-else语句,使代码规范易懂,以便于修改、维护。
回复 使用道具 举报
董伟 黑马帝 2011-12-14 11:15:55
10#
condition ? expression1 : expression2
如果condition条件为true,则执行expression1,否则执行expression2
转换为if判断:
if(condition)

    expression1;

else

    expression2;
回复 使用道具 举报
刘波 黑马帝 2011-12-14 15:31:32
11#
三元表达式 和 if类似
只不过 if可以判断后运行语句
三元表达式只能判断后赋值

三元表达式的符号是 ?(问号)和:(冒号)

比如if的式子
string s ;
if(1>1)
{
   s="对";
}
else
{
   s="错";
}

可以写成这样的三元表达式

string s = (1 > 1)? "对":"错";

如果表达式 1>1 成立 则s = 对 否则 s = 错

在上面的式子中 ()括号是可有可无的,带上看的清楚一些

希望能够帮助到你
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马