类型转换

 

 

           //强制转换    (类型名)变量名    长度由高到低的转换

          //自动转换                    长度由低到高的转换

            int x = (int)3.6;  //把double类型的数据强制转换成为int 精度由高到低的转换

            double x1 = 3.6f;   //把float类型的数据自动转换成为double类型 精度由低到高的转换

 

        int x2 = (int)'a';

        System.out.println(x2); //输出结果为97

        System.out.println((char) x2);  //输出结果为a

        //注意:

        //不能把布尔型的数据转换成为别的类型

        //转换的时候可能存在溢出或者是精度丢失的问题

 

        //操作比较大的数时候要注意溢出问题

        //jdk7 的新特性,数字之间可以用下划线来分割,并且输出的时候没有下划线

        int money = 10_0000_0000;

        int years = 20;

        int total = money*years;

        System.out.println(total); //输出-1474836480 ,长度越界了

//        long total2 = money*years; //这样是不行的,因为在赋值之前的计算已经越界了

        long total3 = money*(long)years; //这样才可以,在计算的时候就把数据类型转化成为整形了,计算出来的结果就是准确的

          //强制转换    (类型名)变量名    长度由高到低的转换          //自动转换                    长度由低到高的转换            int x = (int)3.6;  //把double类型的数据强制转换成为int 精度由高到低的转换            double x1 = 3.6f;   //把float类型的数据自动转换成为double类型 精度由低到高的转换
        int x2 = (int)'a';        System.out.println(x2); //输出结果为97        System.out.println((char) x2);  //输出结果为a        //注意:        //不能把布尔型的数据转换成为别的类型        //转换的时候可能存在溢出或者是精度丢失的问题
        //操作比较大的数时候要注意溢出问题        //jdk7 的新特性,数字之间可以用下划线来分割,并且输出的时候没有下划线        int money = 10_0000_0000;        int years = 20;        int total = money*years;        System.out.println(total); //输出-1474836480 ,长度越界了//        long total2 = money*years; //这样是不行的,因为在赋值之前的计算已经越界了        long total3 = money*(long)years; //这样才可以,在计算的时候就把数据类型转化成为整形了,计算出来的结果就是准确的

posted @ 2020-12-21 23:19  day-12-19  阅读(84)  评论(0)    收藏  举报