float a = 1.0f 不是强转,1.0默认是double类型的,1.0f才表示float类型,这个和c#语言是一样的。纯数字默认是int型,所以long a = 123中的123是int型,赋值给一个long型。而long a = 11111111113L后面的数字超过了int型,所以要加L表示这是long型的数字