自动类型、强制类型转换、及类型提升问题

来源:互联网 发布:王思仪铁观音淘宝店 编辑:程序博客网 时间:2024/06/05 15:01
//测试自动转型和强制转型(指的表述范围)public class TestCast{    public static void main(String args[]){        byte b = 123;        //byte b2 = 300;        //char c = -3;        char c2 = 'a';        int i = c2;        System.out.println(i);        //long可以转换为float        long d01 = 123321;        float f1 = d01;        System.out.println(f1);        //测试强制类型转换        int i1 = 100;        char c3 = (char)i1;        System.out.println(c3);        /*        int i2 = -100;        char c4 = (char)i2;        System.out.println(c4); -100超过了char的表述范围,会得到一个毫无意义的值。        */        //类型提升问题        int a1 = 1;        long a2 = 2;        int a3 = (int)(a1+a2);//做所有的二元运算符(+-*/%)的时候都会有类型提升问题。        //例题1、盖茨一年赚10亿,10年赚多少        int money = 100000000;        int years = 10;        long total = (long)money*years;//先转型在赋值,(long)(money*years)是错误的        //例题2、一个人70年心跳多少次        long times = 70L*365*24*60*60;//先转型在赋值,默认为int,超出表述范围了,先转换为long类型        System.out.println(times);    }}
原创粉丝点击