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数据类型转换的主要内容,如果未能解决你的问题,请参考以下文章

Java 7 (数据类型转换)

Java中的强制类型转换是如何转换的?

Java数据类型自动转换的优先顺序

Java中几种常用数据类型之间转换的方法

Java——数据类型转换

java 中各种数据类型转换byte[]的方法