Java数据类型转换规则

在实际程序编写中会使用到不同的数据类型,这时候往往涉及到类型转换的问题

在Java中,小数的默认数字类型是double

如果在主函数中写这样一段代码,然后编译运行是不会报错

double a = 3.14;

但是如果写成

float a = 3.14;

显然,此时编译器就报错了。原因是在程序中写下了一个浮点数,编译程序就会默认的使用double类型来处理这个浮点数。而double和float的区别在于一个是占8字节,另一个是占4字节。当你声明a = 3.14是一个float类型的变量时,编译器就会认为你把一个8字节类型的数据强行放到4字节类型里面,这样就导致了精度遗失,使用编译报错。

可以通过两种方法来避免这种错误。

方法一:直接在3.14后面加一个”F”,就是告诉编译器,这个数据是要以float类型来存储的。

float a = 3.14F;

方法二:强制转换

float a = (float)3.14;

接下来讨论整数

在程序中,只要是写下一个整数,就默认是使用不超过 int类型长度,所以即使是定义了long类型但是赋值为2147483648(int类型最大值)也是错误的

正确的写法应该按照方法一书写:

long  a = 2147483648L;
物联沃分享整理
物联沃-IOTWORD物联网 » Java数据类型转换规则

发表评论