java的强制类型转换与自动类型提升详解(全网最全面的)

本文探讨了Java中基本数据类型之间的运算规则,包括自动类型提升和强制类型转换。当小容量数据类型与大容量数据类型运算时,结果会自动提升到大容量类型。在byte、char、short之间的运算,结果会提升为int。强制类型转换可能导致精度损失,例如将double转换为int时,精度会被丢失。示例展示了12.9转换为int后变为12,以及尝试将int转换为byte导致的编译错误。
摘要由CSDN通过智能技术生成

基本数据类型之间的运算规则

1.自动类型提升

结论"当容量小的数据类型的变量与容量大的数据类型的变量做运算时结果会自动提升为容量大的数据类型

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

特别的: 当byte,char,short三种类型的变量做运算时,结果为int

说明:此时的容量大小指的是:属的范围大和小 列入:float容量要大于long的容量

2.强制类型转换 自动类型替身运算的逆运算

1.需要使用强转符:()

2.注意点:强制类型转换,可能会导致精度损失

package com.variable;
​
public class VariableTest2 {
​
    public static void main(String[] args) {
        double d1   = 12.9;
        //精度损失举例1
        
        int i1 = (int)d1;
        System.out.println(i1);//运算结果为12,并未四舍五入哈
        //精度损失案例2
        int i2 = 128;
        //byte b1 = (int)i2; 直接编译不通过
        
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值