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

© 许庭洲 黑马帝   /  2013-6-20 20:24  /  1696 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1. 三元操作符 ?: 有时也称为条件操作符;
2. 对条件表达式 b? x: y 先计算条件 b 然后进行判断如果 b 的值为 true 计算 x的值 ,运算结果为 x 的值, 否则计算 y ,运算结果为 y 的值 ;
3. 一个条件表达式从不会又计算 x 也计算 y 条件操作符是向右关联的,也就是说 从左向右分组计算;
4.例如表达式 a? b: c? d: e 将按 a? b: (c? d: e)形式执行的每一个操作数必须是一个可以隐式转换成 bool 型的表达式或者执行操作符true 类型的表达式, 如果上述这两个条件一个也不满足 则发生运行时错误的第二和第三个操作数控制了条件表达式的类型 ;
5. 设 x 和 y 分别是第二个和第三个操作数的类型 ;
           那么,如果 x 和 y为同一类型 则该类型即是条件表达式的类型;
           否则, 如果从 x 到 y 存在一个隐式转换 ,但不存在 y 到x 的转换 ,那么 y是条件表达式的类型;
           否则 ,如果从 y 到 x 存在一个隐式转换 ,但不存在 x 到y 的转换, 那么 x 是条件表达式的类型;
           否则 ,没有定义任何表达式类型 发生编译时错误;

3 个回复

倒序浏览
{:soso_e179:}
回复 使用道具 举报
受教了,很详细。
回复 使用道具 举报
简单了解一下,还需要深入的学习才行。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马