类型转换

public class demo03 {
    public static void main(String[] args) {
        int a=125;
        byte i=(byte)a;
        System.out.println(i);
        //强制转换:低-->高
        //自动转换:高-->低
        /*注意点:
        1.不能对布尔型进行转化
        2.不能把对象类型转化为不相干的类型
        3.把高容量转化到低容量时要强制转换
        4.转换时可能出现精度问题和内存溢出
        byte,short,char--》int--》long--》long--》float--》double
         */
        System.out.println("==============");
        System.out.println((int)23.7);//23
        System.out.println((int)46.37f);//46
        System.out.println("===========");
        char c = 'a';
        int d = a+1;
        System.out.println(d);
        System.out.println((char)d);
        //操作比较大的数时注意溢出问题
        //JDK7新特性可以使用下划线分割
        int money=10_0000_0000;
        int years=20;
        int sum=money*years;//计算时数据是 int与int 相乘,即使改变sum为long ,也只影响sum的数据类型
        System.out.println(sum);//-1474836480,计算机计算是int 溢出了
        long sum1=money*(long)years;
        System.out.println(sum1);//先把一个数转化为long
    }


}

  

posted @ 2022-04-19 23:17  回忆也交给时间  阅读(6)  评论(0编辑  收藏  举报