java数据类型转换
Posted 执棋手
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java数据类型转换相关的知识,希望对你有一定的参考价值。
数据类型有基本数据类型和引用数据类型
基本数据类型有byte、short、int、long、char、float、double以及布尔类型
占用内存字节数分别是1、4、8、16、2、4、8,布尔类型不必在意字节长度,因为不参与运算。
要点一:在程序中写下一个浮点数时,编译器默认使用double类型。
float a=45.21;
编译通不过,因为运算时45.21默认是double类型,你当成float类型进行运算,会遗失四个字节。
解决方法有两种:一.改为45.12F。 二.进行数据类型转换 float a=(float)45.12;
要点二:在程序中定义一个整数,默认在int空间进行运算,默认使用不超过int类型的长度。
int number=2147483648; //会提示数字太大,装不下。
long number=2147483648;//一样会提示相同错误
解决办法:long number=2147483648L;
但是byte number=8;//可以进行编译,因为8可以装在byte字节空间中
byte number=128;//错误,超过byte容量空间。
要点三:运算中,如果表达式包括不同类型数值,则运算时以长度最长的类型为主。其他数值类型自动提升类型。
int a=10;
double b=a*3.14;
在这个程序中,3.14是double类型,a自动提升为double类型。
如果操作数都不大于int,如
short a=1;
short b=2;
short c=a+b;
上面的程序通不过编译,因为a+b是在int的空间下运行得到的结果,会遗失四个字节
解决办法:short c=(short)(a+b);
要点四:不要对浮点数进行相等性运算。
以上是关于java数据类型转换的主要内容,如果未能解决你的问题,请参考以下文章