不太清楚这里是咋判断的,只知道float要在数字后面加f,而第四题看a和c都为整数啊,还有第五题咋区分啊
1.float a=1 或者 a=1.0f 都是正确的。带小数的默认是double类型:double a=1.0 是正确的。 第一个题考察的float 类型需要追加f
2.第五题考察的也是double和float容易混淆的地方。abc可以排除掉。c选项后面修饰使用的是d,应该是f. B选项应该追加f,A选项 1e2=100 这是科学计数法表示,e前面指的是基数,e后面指的是10的幂数
这个细节的知识点,需要平时多积累。我也是通过IDE编辑之后才知道应该这么定义float和double的。😅
Java语言中,整数直接量,如,a = 1,JVM虚拟机是默认为int类型数据的。所以,当整数直接量赋给long、float或者double,而不添加尾缀,虚拟机也会直接将int类型数据自动转换为对应类型然后赋值。这里就是短的长度转长的长度,并不会失精度。
所以:比如你声明:
int a =1;
float b = 2;
double c=3;
都是正确的。
而你直接声明:
float a =1.0;
double b = 2.0;
float 是会报错的,因为java虚拟机,对于小数默认为double类型,double类型的精度比float高,所以并不会自动转型,而需要你自己强制转型。所以在声明float 和 double 类型时,最好加上后缀。例如:
float a =1.0f;
double b = 2.0d;