问题描述
为什么定义long类型跟float类型的变量时要加L和F
long num = 30L;
float num = 50.1F;
解决方案:
1、float类型末尾加F(必须加)
java中声明小数默认为double型,定义float,就相当于这个浮点数从double类型转换成了float类型,属于向下转型,必须得加小括号进行强制转换。
2.long类型数据末尾要加L(不必须)
java整型默认为int,且java会自动向上转型,byte和short都可以由int自动向上转型,但是long类型的不能自动向上转型,所以要加L,转为long类型。
不加L默认是int,int转为long是安全的,所以会自动转,能编译通过。
如果超过int的取值范围还不加L,那么也会直接报错了。