由于java是强类型语言,所以要进行运算的时候,需要用到类型转换。
运算种,不同类型的数据先转化为同一类型,再进行运算
小数的优先级高于整数例如float>long
由高向低转需加(类型)变量名进行转换
public class demo5 {
public static void main(String[]args){
//强制类型转换 高转低需要 (类型)变量名
int num1=128;
byte num2=(byte)num1;//num1是int类型放在byte种运行时 是会报错那么 那么就需要强制转换成可运行的类型
System.out.println(num2);//输出结果为-128 因为内存溢出 无法精确表示
自动转换
由低向高转 无需操作可自动转换
int num3=6664;
double num4=num3;
不能把布尔值进行转换 无法转换成不相干的类型
转换可能存在的问题:
-
内存溢出
int t1=20_0000_0000; int t2=10; int t4=t1*t2; System.out.println(t4);//内存溢出 需进行转换 int t5=2000000000; int t6=20; long t7=(long)t5*t6; System.out.println(t7); -
精度问题
System.out.println((int)23.7); System.out.println((long)25.4545f);



