- 由于Java是强类型语言,在进行有些运算时,需要进行类型转换
-
类型转换分为强制转换和自动转换
-
根据数据类型进行转换:从低到高时进行强制转换:从高到低时进行自动转换;(自动转换程序会自动运行) 低----------→高 byte→short→int→long→double→char
如何强制转换
int i =99
byte b = (byte)i;
//如果直接赋值,会报错,需要在前面添加其类型(byte);
-
注意点:
-
不能对布尔值进行转换;(是与非)
-
不能把对象转换成不相干的类型;
-
在高容量转换成低容量时,强制转换
-
转换的过程可能存在内存溢出,或精度错误 例如浮点数转换成 整数,小数部分会有遗漏
System.out.println((int)23.7);
输出结果为27,因为int为整数类型
5.操作比较大的数时,注意溢出问题
``
int money = 10_000_000_0;
int year = 30;
System.out.println(money*year);
此时输出值为-1294967296
System.out.println((long)money*year);
将其中一个值定义成long类型输出正确;