在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;这个写法是错误的,


一个好奇的人