您的位置:首页 > 编程语言 > Java开发

关于JAVA中的基本数据类型的转换相关问题

2017-02-14 19:44 656 查看
关于Java中基本数据类型的转换
对于初学者数来说,Java据的类型转换是让人头疼的一件事,今天就给大家说一下关于这个类型转换的问题。
首先,我们得了解一下java中有哪些基本的数据类型。
byte,short,int,long,float,double,char,boolean等总计8种基本数据类型。而这8种基本数据类型所占的内存长度是不同的。byte占一个字节的内存,它的范围是在-128~127;short占有2个字节的内存,它的范围是在-32768~32767;int是4个字节,范围在-2147483648~2147483647;至于long则占有8个字节,范围在-9223372036854775808~9223372036854775807;float跟int一样占有4个字节,它的精度范围是在-126~127;double占8个字节,它精度范围是在-1022~1023;char占有2个字节,可表示的Unicode范围0~ffff,至于Boolean型则不需要管,因为在基本数据类型转换的时候很少会让boolean型数据进行转换。
以上,通过它们的内存范围,我们可以进行一个排序即   byte<short<char<int<float<long<double 。
在进行数据类型转换中,如果你的转换是从小范围的数据类型变成大范围的数据类型也就是我们所经常说的向上数据类型转换,这种是不需要我们强制类型转换的,因为系统会自动帮我们进行相关的转换。如果是由大范围的数据类型转换成小范围的数据类型,也就是我们所说的向下类型转换,这时候系统会报错提示我们可能丢失精度,这就需要我们进行强制类型转换,而且就算如此丢失精度的风险还是会存在的。
PS:还有在运算的时候,如果我们的数据本身就是类型不一样,比如一个int数据一个byte数据,那么系统会自动把byte数据提升到int类型再进行运算,这时候运算出的数据就是int类型了,而如果你用这个数据进行赋值给一个小于int范围的数据类型的变量就要使用类型强制转换了,而且容易丢失精度。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 数据