byte b = 3 + 7;//此语句是编译通过的,是因为有常量优化机制, float f = 23 + 23.3;//此语句是编译报错的,请问为什么呢? ?????????? |
妳的微笑❤ 发表于 2015-10-7 22:04
public static void main(String[] args){
float f = 23 + 23.3f;
System.out.println(f);
mars314 发表于 2015-10-7 22:27
23.3默认为double类型,转为float会丢失精度,所以编译报错的,
miao1991 发表于 2015-10-7 23:23
byte b = 3 + 7;
float f = 23 + 23.3;
mars314 发表于 2015-10-7 22:27
23.3默认为double类型,转为float会丢失精度,所以编译报错的,
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |