Java数据类型提升(0)

本文详细解析了在Java中进行加法运算时,不同类型数据间的自动类型提升规则,包括byte、short、char、long、float和double等基本数据类型之间的转换过程。通过具体代码示例,展示了不同类型数据在运算时如何自动转换为int、long、float或double类型,以及可能出现的精度丢失情况。

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

加法数据类型提升

代码

数据类型的自动提升: byte,short,char在参与运算时,会自动提升为int类型,他们三个之间不存在提升。
如果还有long,float,double,相应的提升为long,float,double.
若long,float同时有,提升为float,
若long,float,double同时存在,则提为double.

import java.util.Scanner;

public class demo {
    public static void main(String[] args) {
                byte a = 1;
                short b = 2;
                byte x =127;
                byte y = 1;
                //byte c = a+b;//报错
                //short c =a+b;//报错
                //byte c = (byte)(a+b);//强制类型转化可以,但会缺失精度
                byte z= (byte)(x+y);//缺失精度
                int c = a+b;//提升为int
                byte d = 3+4;//可以,常量优化机制
                System.out.println(c);
                System.out.println(d);
                System.out.println(z);
        }
    }

输出:

3
7
-128

Process finished with exit code 0

---------------------
谢谢

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值