因为Java里带有小数点的数默认是double类型,所以1.1在这里是double类型,把他赋值给比他小的float类型就会出错。你想通过编译的话有3种方法改: double f=1.1; 或者 float f=1.1f; 或者 float f=(float)1.1;