类型转换

类型转换

public class Demo1 {
    public static void main(String[] args) {
        int i=128;
        byte b=(byte)i;//内存溢出
        double b1=i;
        //强制转换   (类型)变量名   高--低
        //自动转换      低--高
        System.out.println(i);
        System.out.println(b);
        System.out.println(b1);
        System.out.println("=========================");

        System.out.println((int)23.67);//23
        System.out.println((int)6.895);//6
        /* 注意点:
        1.不能对布尔值进行转换。
        2.不能把对象类型转换为不相干的类型。
        3.在把高容量转化为低容量的时候,强制转化。
        4.转换的时候可能存在内存溢出,或精度问题。
         */
        System.out.println("=========================");
        //操作比较大的数字时,要注意溢出问题。
        //JDK7后新特性:数字之间可以用下划线分隔开,且不影响输出。
        int f=10_1110_0000;
        int h=20;
        int r=f*h;//-1252836480 ,计算的时候溢出了。
        long r1=f*h;//默认是int,转换之前已经出问题了。
        long r2=f*((long)h);//先把一个数转化成long.

        System.out.println(f);
        System.out.println(r1);
        System.out.println(r2);
        
    }
}
posted @ 2021-02-09 02:16  dudubing  阅读(43)  评论(0)    收藏  举报