• 由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换
    • byte,short,char-->int-->long-->float-->double
  • 运算中,不通类型的数据先转化为同一类型,然后进行运算
public class demo02 {
    public static void main(String[] args) {
        int i = 128;
        byte b = (byte) i;
        System.out.println(b);//内存溢出
        //加上()代表强制转化    (类型)变量名
        //自动转化,由低到高自动转化
        double c = i;
        System.out.println(c);
        
    }
}

注意点

  • 不能对布尔值进行转化
  • 不能吧对象类型转化为不相干的类型
  • 再把高容量转换到低容量的时候,强制转化
  • 转换的时候可能存在内存溢出,或者精度问题
public class demo02 {
    public static void main(String[] args) {
        //JDK7的新特性,数字之间可以用下划线分割
        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);//先把一个数转为long
    }
}