Java对数据类型很严格
数据类型进行运算的时候可以自动转换:将范围小的类型转换为范围大的类型
范围小的类型向范围大的类型提升, byte、short、char 运算时直接提升为 int 。
byte、short、char‐‐>int‐‐>long‐‐>float‐‐>double
例如:byte b =1;int i = 2; b+i的值为int型
转换原理:
byte为1个字节,int为4个字节,byte和 int 类型运算时会提升为 int 类型 ,自动补充3个字节,因此计算后的结果还是 int 类型。
同理,当一个 int 类型变量和一个 double 变量运算时, int 类型将会自动提升为 double 类型进行运算。、
byte + int = int
int + double = double
强制转换:由我们手动操作的(一般将 取值范围大的类型 强制转换成 取值范围小的类型 。)
数据类型 变量名 = (数据类型)被转数据值;
int i= (double)1.44;注意:
1.浮点转成整数,直接取消小数点,可能造成数据损失精度。
2.int 强制转成 short 砍掉2个字节,可能造成数据丢失。
ASCII编码
在char类型和int类型计算的过程中,char类型的字符先查询编码表,得到97,再和1求和,结果为98。char
类型提升为了int类型。char类型内存2个字节,int类型内存4个字节。
字母 | 编码 |
‘0’ | 48 |
‘9’ | 57 |
‘A’ | 65 |
‘Z’ | 90 |
‘a’ | 97 |
‘z’ | 122 |
如果一个字母小写和大写的转换,可以使用+32或-32的方法。
char ch = 'a';
char Ch -= 32;转换为小写,需要加32,转换为大写需要减32
本文详细介绍了Java中数据类型的自动转换过程,包括从范围小的数据类型到范围大的数据类型的自动提升,以及如何通过强制类型转换来改变变量的类型。此外,还探讨了在进行涉及不同数据类型的运算时,Java是如何自动进行类型转换的。

被折叠的 条评论
为什么被折叠?



