int x=4;
System.out.println(“value is “+ ((x>4) ? 99.9 :9));//value is 9.0
这里三元运算符后面的9自动转换成了double类型。
在三目运算符java开发的环境下可以简单的理解为双目运算符的类型转换问题(便于理解)。其具体规则总结如下:
1)如果定义了数据类型的变量与未定义变量的数值共同参与三元运算符的后双目运算,,那么返回的结果就是范围大 (精度高)类型
2)如果两个定义了数据类型的变量共同参与三元运算符的后双目运算,那么返回的结果就是范围大(精度高)类型
3)如果直接进行数值的比较,会自动转型成为范围大(精度高)的数据类型
版权声明:本文为优快云博主「原野的稻草人」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/QGhurt/article/details/108866482
扩展的赋值运算符:+= -= *= /= %=
int i =2;
double j = 5.6;
i+=j;
System.out.println(i);//7
这里的+=符合运算把后面的double强制转换成int类型