Java类型转换【个人回顾总结版】

一、数据类型的优先级

在这里插入图片描述

二、类型转换实战

public static void main(String[] args) {
    
    
int i12=127;
        /**
         * int类型的数据转换成byte类型的数据
         * 从高转低  强制类型转换:(类型)变量名
         */
        byte i13=(byte)i12;
        /**
         * 由int 类型转换成double类型
         * 由低转到高  自动类型转换
         */
        double i14=i12;
        System.out.println(i12);
        System.out.println(i13);
        System.out.println(i14);
        }

加粗样式

三、注意点

1、不能对布尔值类型转换
2、不能把对象类型转换成不相干的类型
3、转换的时候可能存在内存溢出,或者精度的问题

溢出问题

public static void main(String[] args) {
    
    
 int money=10_0000_0000;
        int years=20;
        int total=money*years;
        System.out.println(total);
    }
}

在这里插入图片描述
溢出的原因,是money和years都是int类型 乘积=total也是一个int 超过了int的范围,所以需要对total、money和years进类型转换

public static void main(String[] args) {
    
    
 int money=10_0000_0000;
        int years=20;
        int total=money*years;
        System.out.println(total);
        long total1=money*(long)years;
        System.out.println(total1);
    }
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/junR_980218/article/details/125069426