-
由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换
低 ————————————————————— 高
byte,short,char → int → long → float → double 小数的优先级大于整数!
-
运算中,不同类型的数据先转化为同一类型,然后进行运算
-
强制类型转换:(类型)变量名 高 → 低
int i = 128; byte b = (byte)i; //强制转换 输出 i b 结果:128 -128 //内存溢出
-
自动类型转换 低 → 高
int i = 128; double b = i; 输出 i b 结果:128 128.0
-
注意点
- 不能对布尔值进行转换
- 不能把对象类型转化为不相干的类型
- 在把高容量转换到低容量的时候,强制转换
- 转换的时候可能存在内存溢出,或者精度问题
-
相关问题
- 操作比较大的时候,注意溢出问题
- JDK7新特性,数字之间可以用下划线分割
int money = 10_0000_0000; int years = 20; int total = money*years; //输出 -1474836480,计算的时候溢出了 long total2 = money*years; // 默认是int,转换之前已经存在问题了 // (默认得出int结果后再把int结果变为long) long total3 = money*((long)years); //先把一个数转换为long 输出结果正确
Java基础语法 < 三 > 类型转换
最新推荐文章于 2023-07-17 22:14:08 发布