Java基础05:类型转换

Java基础05:类型转换

类型转换

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

    • byte,short,char->int->long->float->double
  • 运算中,不同类型的数据先转换为同一类型,然后进行运算。

  • 强制类型转换

  • 自动类型转换

public class Demo05 {
    public static void main(String[] args) {
        int i = 128;
        byte b = (byte)i;// 内存移除

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

        System.out.println(i);
        System.out.println(b);

        System.out.println("=============================");

        byte i1 = 127;
        int b1 = i1;

        System.out.println(i1);
        System.out.println(b1);
    }
    /*
    注意点:
    1. 不能对布尔值进行转换
    2. 不能把对象类型转换为不相干的类型
    3. 在把高容量转换到低容量的时候,强制转换
    4. 转换的时候可能存在内存溢出或精度丢失问题。
     */
}
public class Demo06 {
    public static void main(String[] args) {
        // 操作比较大的数的时候,注意溢出问题
        // JDK7新特性,数字之间可以用下划线分割
        int money = 10_0000_0000;
        int years = 20;
        int total1 = money*years; // -1474836480,计算的时候就溢出了
        long total2 = money*years; // 默认是int,转换之前就已经出问题了。

        long total3 = money*(long)years;// 先把一个数转换为long
        System.out.println(total3);

    }
}
posted @ 2021-01-17 15:33  陈单  阅读(51)  评论(0)    收藏  举报