首页 > 其他 > 详细

类型转换

时间:2020-12-22 09:03:36      阅读:28      评论:0      收藏:0      [点我收藏+]

 

技术分享图片

技术分享图片

 

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

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

            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; //这样才可以,在计算的时候就把数据类型转化成为整形了,计算出来的结果就是准确的

类型转换

原文:https://www.cnblogs.com/ygrdgh/p/14170751.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!