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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© GrowingLight 初级黑马   /  2017-12-13 08:05  /  1482 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

列子:我用A,B,C代表三个位置——A ? B:C
在运算符自动类型转换中有这一列:false?3:'A'
如果B为常量(列int),而C的类型(列char),那么在A为false时,代码运行结果:C的类型不会变。结果:A
但是当我把B类型不变把常量用变量代替时:
int[] max = {3,4}
false?max[0]:'A'——结果为65
类型被转成int了,求解?
还问一下在这情况下我怎样才能保持char类型不变?
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端

2 个回复

倒序浏览
三元运算符自身携带属性:强制转换。
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
七语七月七 发表于 2017-12-13 08:50
三元运算符自身携带属性:强制转换。

强制转换我明白,只是想问同类型的常量和变量为什么结果不一样,还有怎么保持我后面的类型不被转换呢?
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马