java中的float变量声明

img


请问一下为什么第10题的BC是对的,第11题的A为什么是错的

java中数据类型转换的顺序 按照范围从小到大
byte -> short -> int -> long -> float -> double
高精度的数据不可以赋值给低精度的数据;
A中的1.19后面没有f(或F)编译器会默认为double类型,不符合高精度的数据不能赋值给低精度的数据的原则,所以是错的。
B中的是整型数据赋值给浮点型数据,明显的低精度赋值给高精度,正确的的。
C中的原因就是Java的Unicode编码,a在Unicode中表示的是97.0,可以用编译器进行验证。