Java中对于float、double、long数据类型的直接量需要在后面分别加f、d、L,但给他们分别赋值整数时却不要

为什么?
例float f=7;

整数型字面量(例如7)会被JVM默认为int类型数据,将int类型数据赋值给float double long会自动转换 (因为int类型数据长度比他们小)
浮点型字面量(例如7.0)会被JVM默认为double类型数据,转换比它小的数据类型时候要显式转换,否则要声明字面量类型(例如7.0f)
温馨提示:答案为网友推荐,仅供参考
相似回答