类型转换

类型转换

由于java是强制类型语言,所以要进行有些运算的时候,需要用到类型转换。

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

低--------------------------------------------------->高

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

  • 强制类型转换 高-->低

  • 紫红类型转换 低-->高

    public class Demod04 {
        public static void main(String[] args) {
            int i=128;
            byte b=(byte)i;//内存溢出
            //强制转换(类型)变量名  高--低
            System.out.println(i);
            System.out.println(b);
            /*
            注意点
            1.不能对布尔值进行转换
            2.不能把对象类型转换成不相干的类型
            3.在把高容量转换到低容量的时候,强制转换
            4.转换的时候可能存在内容溢出,或精度问题!
             */
            System.out.println("====================================");
            System.out.println((int)23.7);//23
            System.out.println((int)-45.89);//-45
            System.out.println("====================================");
            char c='a';
            int d=c+1;
            System.out.println(d);
            System.out.println((char)d);
        }
    }
    

    案例

    public class Demod06 {
        public static void main(String[] args) {
            //操作比较大的数的时候,注意溢出问题
            //JDK7新特性,数字之间可以用下划线分割
            int money=10_0000_0000;
            int years=20;
            int total=money*years;//-1474836480计算时溢出
            long  total2=money*years;//默认是int,转换之前已经存在问题了?
            long  total3=money*((long)years);//先把一个数转换为Long
            System.out.println(total3);
        }
    }
    
posted @ 2023-05-16 22:04  努力的小L  阅读(13)  评论(0)    收藏  举报