java|基础|类型转换

类型转换

强制转换

代码

public class Dome05 {
    public static void main(String[] args) {
        int i = 128;
        byte b = (byte)i;   //内存溢出

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

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

运行结果

128
-128

自动转换

代码

public class Dome05 {
    public static void main(String[] args
          char c = 'a';
          int d = c+1;
          System.out.println(d);
          System.out.println((char)d);
    }
}

运行结果

98
b

拓展

代码

public class Demo06 {
    public static void main(String[] args) {
        //操作比较大的数的时候,注意溢出问题
        //JDK7新特性,数字之间可以用下划线分割
        int moeny = 10_0000_0000;
        int years = 20;
        int total = moeny*years;    //-1474836480,计算的时候溢出了
        int total2 = moeny*years;    //默认是int,转换之前就已经存在问题了
        long total3 = moeny*((long)years);  //先把一个数转换成long
        System.out.println(total);
        System.out.println(total2);
        System.out.println(total3);


        //大写L和小写l,一般尽量用大写L
    }
}

运行结果

-1474836480
-1474836480
20000000000
无标签
评论区
头像