基本数据强制类型转换

169 阅读1分钟

优先级:从低到高

byte,short,char -->int -->long -->float -->double

注意点:

- 低转高   直接转
- 高转低  (类型)变量名
- 注意变量转换时的溢出问题,精度问题
- 不能对布尔值进行转换
- 不能将对象转换为不相干的类型

代码示例:

        int i1 = 128;
        int i2 = 16;
        byte b1 = (byte)i1;
        byte b2 = (byte)i2;
        System.out.println(b1);//-128  溢出了
        System.out.println(b2);//16


        char c = 'A';
        int i3 = c;
        System.out.println(i3);//65

        //jdk7新特性:数字之间可以用下划线分割
        int money = 20_0000_0000;
        int year = 10;

        int total = money*year;
        long total1 = money*year;
        long total2 = (long)money*year;

        System.out.println(total);//-1474836480  溢出
        System.out.println(total1);//-1474836480
        System.out.println(total2);//20000000000