Java类型转换

类型转换

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

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

public class Demo01 {
    public static void main(String[] args) {
        int i = 128;
        byte b = (byte)i;//自动转换,低-->>高
        //强制转换,高-->>低
        System.out.println(i);//输出128
        System.out.println(b);//输出-128
        //内存溢出
    }
}

注意点

  1. 不能对布尔值进行转换;
  2. 不能把对象类型转换为不相干类型;
  3. 在把高容量转换为低容量的时候,强制转换;
  4. 转换的时候可能存在内存溢出,或者精度问题;
public class Demo02 {
    public static void main(String[] args) {
        int money = 10_0000_0000;
        //操作比较大的时候注意溢出问题
        //JDK7新特性,数字之间可以用下划线分割
        System.out.println(money);//输出仍然是1000000000
        System.out.println("---------------------------------");
        int years = 20;
        int total = money*years;
        long total2 = money*years;
        System.out.println(total);//输出-1474836480,计算的时候溢出了
        System.out.println(total2);//输出-1474836480,转换之前就已经存在问题
        long total3 = money*((long)years);
        System.out.println(total3);//输出20000000000,正确答案


    }
}
posted @ 2020-06-17 10:54  一路向北zzz  阅读(103)  评论(0编辑  收藏  举报