java基本数据类型的转换
先了解Java的数据类型有哪些
转换分为自动类型转换(隐式转换)和强制转换( 显示转换)
自动转换:从小到大进行转换,byte ->short(char)->int->long->float->double
强制转换:double→float→long→int→short(char)→byte
注意
:强制转换可能会有数据溢出(右侧数值大小不能超过左侧类型范围)或者精度丢失(浮点数转整形)
byte short char 进行数据转换时,JVM首先会自动转为int类型,然后进行数据运算
byte b = 21;
int a = b;
byte b1 = 21;
byte b2 = 23;
byte b3 = b1 + b2;//错误的 ,因为此时是 byte + byte = int + int
int d = a + b; //对的
为什么char类型也能计算
因为计算机底层会用二进制代表字符,一旦char进行数学运算,会按照一定的规则翻译成为一个数字
小表ASCII码表,范围(0~127),超过127无法解决编码问题
大表Unicode码表(万国表)范围(0~~)前面127和ACILL码表一样,后面有是许多国家的字体编码
注意
:
48 代表 ‘0’
97 代表 ‘a’
65 代表 ‘A’
Java不支持无符号数据类型。byte,short,int和long都是有符号数据类型。对于有符号数据类型,值范围的一半存储正数,一半用于负数,因为一个位用于存储值的符号。
版权声明:本文为qq_42224683原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。