黑马程序员技术交流社区

标题: 三元运算符类型问题(O_O)? [打印本页]

作者: GrowingLight    时间: 2017-12-13 08:05
标题: 三元运算符类型问题(O_O)?
列子:我用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类型不变?

作者: 七语七月七    时间: 2017-12-13 08:50
三元运算符自身携带属性:强制转换。

作者: GrowingLight    时间: 2017-12-13 12:25
七语七月七 发表于 2017-12-13 08:50
三元运算符自身携带属性:强制转换。

强制转换我明白,只是想问同类型的常量和变量为什么结果不一样,还有怎么保持我后面的类型不被转换呢?





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2