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

马士兵Java课堂笔记-2-基本数据类型转换问题

2015-10-13 20:45 465 查看
1) Boolean(布尔)类型是不可以转换为其他类型的,强制类型转换也不行,例如:

boolean b1=1;
int a=(int)b1;


是错误的;

2) char,short,byte三种类型在进行运算时都会先转换成int类型再进行运算,所以它们的运算结果都会是int类型,例如:

byte b1=1,b2=2;
byte b3=b1+b2;


就是错误的,因为两个byte类型b1+b2进行运算,会先将其转换为int型再进行运算,运算结果就是int型,而int型赋值给byte类型就需要进行强制类型转换,此时就会碰到另一个问题:

int类型在内存中占用4个字节,而byte类型1个字节,所以int强制转换为byte类型也不是不可以,就是直接把int类型内存中的前3个字节直接去掉,这样的话,如果int中如果前3个字节有数据就会丢失。

3)其他类型进行运算时按照如下顺序进行自动转换:

char->int->long->float->double


4)强制类型转换中,int类型转换为byte类型时,直接把内存中多余的3个字节去掉就可以了,但是double类型强制类型转换为float类型时就会有错误,因为double类型在内存中存放方式与int类型不太相同,不能直接进行字节的删减,具体存放方式我还不太清楚。。。

5)除了四类八种(byte,short,int,long,float,double,boolean,char)数据类型,其他的都为引用类型,例如字符串类型String就是引用类型。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 数据类型 boolean