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’

猜你喜欢

转载自blog.csdn.net/qq_42224683/article/details/107219824