牧码

时间不多,道路很长

为何 short s1 = 1; 是对的,而 float f=3.4; 是错的?

在Java中,没小数点的默认是int ,有小数点的默认是 double

编译器可以自动向上转型,如 int 转成 long 系统自动转换没有问题,因为后者精度更高 ;但如果是向下转型,就需要强制类型转换

short类型变量的初始化语句,只要不超过short范围( -215 ~ 215-1 )的就可以直接初始化,所以short s1 = 1;是对的;
而对于小数,默认情况下:float f=3.4;中的小数3.4此时为double类型。此时,等式float f=3.4;左边为float类型,等式右边为double类型,将涉及到强制类型转换,所以float f=3.4;这个写法是错误的,

posted @ 2018-12-19 20:42  脚印在泥泞路上  阅读(495)  评论(0编辑  收藏  举报