Java数值类型转换

本文深入探讨了Java中的自动类型转换和强制类型转换,包括小精度到大精度的自动转换过程,以及可能导致信息丢失的强制类型转换。同时,介绍了如何使用Math.round方法进行浮点数的舍入运算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、自动类型转换

        在程序运行时,常常需要将一种数值类型转换为另一种数值类型。引用Java核心卷I中的一张图,给出了数值类型之间的合法转换。

数值类型之间的合法转换

        图中有6个实心箭头,表示无信息丢失的转换;有3个虚箭头,表示可能有精度损失的转换。 

        小精度转大精度可以自动转换,int值类型的值会自动地转成double类型。例如:

        int a=1;
        double b=a;
        System.out.println(b);

       控制台输出为0.1。

二、强制类型转换

        有些时候也需要将double转换成int,在Java中,允许这种数值之间的类型转换。这种情况,需要通过强制类型转换实现这个操作。强制类型转换的语法是在圆括号中给出想要转换的目标类型,后面紧跟待转换的变量名。当然,有可能会丢失一些信息,例如:

        double a=1.99;

        int b=(int) a;

        这样,b的值为1。强制类型转换通过截断小数部分将浮点值转换为整型。如果想对浮点数进行舍入运算,可以通过Math.round方法:

        double a=1.99;
        int b=(int) Math.round(a);

        现在,b的值为2。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值