类型转换

类型转换

public class D06 {
    public static void main(String[] args) {
        //int i =128;
        /*byte b =(byte) i;*///内存溢出
        //强制转换(类名)变量名 高----低
        //自动转换(类名)变量名 低----高
        /*double b =i;
        System.out.println(i);
        System.out.println(b);
        System.out.println("======================================");
        System.out.println((int) 23.7);//23
        System.out.println((int) -45.89f);//- 45*/
        System.out.println("=================================================");
        char c='a';
        int d = c+2;
        System.out.println(d);
        System.out.println((char) d);
    }
}
/*
 * 1.不能对布尔值进行转换
 * 2.不能把对象类型转换为不相干的类型
 * 3.高----低的时候,强制转换
 * 4.转换的时候可能存在内存溢出,或者精度问题
 */
public class D07 {
    public static void main(String[] args) {
        int money =10_0000_0000;//数字之间可以用下划线切割
        int years =20;
        int xw=money*years;
        long xw1=money*years;
        System.out.println(xw);//计算溢出-1474836480
        System.out.println(xw1);//默认是int,转换前就存在问题了
        System.out.println("================================");
        long xw2=money*((long)years);//先转换一个数为long
        System.out.println(xw2);
        long xw3 =((long) money)*years;
        System.out.println(xw3);
        long i5=2000000000000L;//L尽量大写
        System.out.println(i5);
    }

}
posted @ 2024-03-14 23:59  小王重生归来  阅读(15)  评论(0)    收藏  举报