Day04类型转换

发布时间 2023-12-21 15:45:27作者: 1hahahahahahahaha

类型转换

注意点:
1.不能对布尔值进行转换
2.不能把对象类型转换为不相干的类型
3.在把高容量转换到低容量的时候,强制转换
4.转换的时候可能存在内存溢出,或者精度问题!

高转低,强制转换;低转高,自动转换

低------------------------------------------->高 
byte,short,char-> int -> long-> float -> double 

int i=128;
 byte b=(byte)i;    //内存溢出
 //强制转换   (变量名)变量类型   从高到低
 //自动转换   从低到高
        System.out.println(i);//128
        System.out.println(b);//-128


//精度
System.out.println((int)23.7f);//23
        System.out.println((int)24.6);//24


int  a=10_0000_0000;
        int b=20;
        System.out.println(a*b);//-1474836480, 计算的时候溢出了
        System.out.println((long)(a*b));//-1474836480   a*b计算的时候已经出错了
        System.out.println(((long)(a))*b);//20000000000    先把一个数转换为long
                           
                           
                           
                           
                           
                           
                           
                           
                   
//在Java中,当一个long类型的数和一个int类型的数相乘时,结果通常会是long类型。Java在执行算术运算时,会根据操作数的类型选择适当的数据类型来存储结果。在这种情况下,由于long类型的数值范围比int类型更大,所以结果会被存储为long类型。