类的转换
类型转换
public class 类的转换 {
    public static void main(String[] args) {
        /*类型转换
         低----------------------高
         byte,short,char-int-long-float-double
         高到低强制转换,低到高自动转换
         */
        //强制转换
        int a = 128;
        byte b =(byte)a;  //内存溢出 byte范围 -127-127;
        System.out.println(a);
        System.out.println(b);
        System.out.println("=====================================");
        //自动转换
        byte c = 40;
        double d =(double)c;
        System.out.println(c);
        System.out.println(d);
        /*注意点
        1.布尔值不能转换
        2.不能对不相干的类型进行转换
        3.高转低强制转换,低转高不需要理
        4.转换的时候需要注意内存溢出,或者精度问题
         */
        System.out.println("=====================================");
        System.out.println((int)23.5);   //23
        System.out.println((int)-48.95f);  //-48
        System.out.println("=====================================");
        char c1 ='a';
        int c2 = c1+1;
        System.out.println(c2);
        System.out.println((char)c2);
        System.out.println("=====================================");
        int money = 10_0000_0000; //jdk新特性,可以用下划线分割
        int years = 20;
        int total = money*years;
        System.out.println(total); //-1474836480 出现溢出问题
        long totala =money*((long)years);  //先把一个数转化为long类型
        System.out.println(totala);
    }
}
结果
类的转换
128
-128
=====================================
40
40.0
=====================================
23
-48
=====================================
98
b
=====================================
-1474836480
20000000000
进程已结束,退出代码为 0
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号