Day03-类型转换

类型转换

由于java是强类型语言,所以要进行有些运算的时候,需要用到类型转换(小数的优先级一定大于整数)

低--------------------------------------------------------------------------高(容量)

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

运算中,不同类型的数据先转化为同一类型,然后进行运算

强制类型转换、自动类型转换

public class Demo05 {
    public static void main(String[] args) {
        int i=128;
        byte b=(byte)i;//内存溢出
        double c=i;

        //强制转换     (类型)变量名     高--->低
        //自动转换      低--->高

        System.out.println(i);
        System.out.println(b);//-128(内存溢出)
        System.out.println(c);//128.0

        /*
         注意点:
         1.不能对布尔值进行转换
         2.不能把对象类型转换为不相干的类型
         3.在把高容量转换为低容量的时候,强制转换
         4.转换的时候可能存在内存溢出,或者精度问题!
         */
        System.out.println("============================");
        System.out.println((int)23.7);//23
        System.out.println((int)-45.89f);//-45

        System.out.println("============================");
        char d='a';
        int e=d+1;
        System.out.println(e);//98
        System.out.println((char) e);//b

    }
}

public class Demo06 {
    public static void main(String[] args) {
        //操作比较大的数的时候,注意溢出问题
        //数字之间可以用下划线分割,方便区分
        int money=10_0000_0000;
        int years=20;
        int total=years*money;
        System.out.println(total);//-1474836480,计算的时候溢出了
        long total2=(long)years*money;//默认是int,需要强转后再运算,即可得到正确结果
        System.out.println(total2);
    }
}

posted @ 2022-03-17 09:10  LiLiLiYH  Views(15)  Comments(0Edit  收藏  举报