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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

黑马高鑫

初级黑马

  • 黑马币:2

  • 帖子:13

  • 精华:0

© 黑马高鑫 初级黑马   /  2012-8-8 06:05  /  1737 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

三元表达式, 表1?表2:表3 , 表1true转向表2,表1判断false转向表3,表1、表2、表3的使用规范有哪些

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

6 个回复

倒序浏览
三元表达式: 表达式1?表达式2?表达式3
注意:表达式1的值必须是布尔类型,即必须返回true,或false;当true时,则结果为表达式2的值,false时,则为表达式3的值

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
两点语法上的规则,表达式一的值必须为bool类型,表达式2和表达式3的值的类型必须是同一种类型。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
表达式2和表达式3能不能为输出语句吗

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
黑马高鑫 发表于 2012-8-8 07:13
表达式2和表达式3能不能为输出语句吗

不能,三元表达式的最终结果要求是一个值,如果你想输出什么语句,可以用string接收一下,然后再输出结果,比如如果表达式1的结果为true时你想输出sfsg,为false时你想输出fdfdf,你可以把三元表达式写成
string s=表达式1?sfsg:fdfdf;然后打印s就好了
回复 使用道具 举报
1,表1应该是一个BOOL型的表达式,该表达式的只有两种结果,一种是true,另一种是false;
2,表2可以是任意类型的表达式;
3,表3也可以是任意类型的表达式;
4,当表1的结果为真时,三元表达式的结果为表2的结果;
5,当表2的结果为假时,三元表达式的结果为表3的结果。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
还有一点一定要注意:表达式2和表达式3的的类型一定要相同或者相容!

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

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