一元运算符优先级很高,四则运算符其次,再是移位运算符,然后是关系运算符、位运算符、与或(非是一元运算),最后是赋值运算符。
表达式(short)10/10.2*2运算后结果是什么类型?
强制类型转换优先级高于运算符优先级+ - * /
显示类型转换是局部,隐式类型转换成更高精度。
java 黙认浮点类型为double
float数据类型有一个后缀为" f “或” F “。
long类型有一个后缀,为” l " 或者" L "。
首先,要注意是(short)10/10.22,而不是(short) (10/10.22),前者只是把10强转为short,又由于式子中存在浮点数,所以会对结果值进行一个自动类型的提升,浮点数默认为double,所以答案是double;后者是把计算完之后值强转short。
用圆括号强制类型转换属于一元运算符,先于乘除运算,所以此时有(short)10除以10.2,10.2为浮点数,Java浮点数默认为double,因此计算除法时,将short转换为double型,后面乘法同理,最后结果即为double型。



