Day01_12_Java的类型转换

Java类型转换

实例


public class 类型转换 {
    public static void main(String[] args) {
        int i =128;
        byte b= (byte) i;
        double d=i;
        System.out.println(i);   //128
        System.out.println(b);  //-128      低---高 强制转换   内存溢出(byte范围 -128 ~ 127 )
        System.out.println(d); //128.0      高---低 自动转换   整型转换为浮点型
       
        System.out.println("============================================================================");

        int money=10_0000_0000;  //数字可以用下划线分割,这样更清楚,不会被识别。
        int year=20;
        int total=money*year;
        System.out.println(total); //-1474836480  超过了int类型的表示范围,内存溢出
        
        long total1= money*year;  //这样只是把int类型计算结果赋值给long类型的变量,一样是溢出的,先溢出才赋值的

        long total2= money*(long)year; //在计算中就进行强制类型转化,结果才会是long类型

        System.out.println(total1); //-1474836480

        System.out.println(total2); //20000000000
    }
}


 ## 注意
  * 不能对Boolean值进行转换
  * 不能将对象转换成不相干的类型
  * 高容量转换位低容量的数据类型时,需要进行强制转换
  * 在进行强制转换时,可能造成内存溢出问题
  * 浮点型 转换 整型,或者双精度浮点型转换位单精度浮点型的时候,可能出现精度问题,例如: float f=1.23   (int)f=1
posted @ 2021-03-23 15:12  失昼  阅读(13)  评论(0)    收藏  举报