Java中过大整数储存问题(bushi

当尝试存储超过int类型最大值的整数时,Java会报错。问题在于Java默认将数值解释为int类型。解决方案是在数值后添加'L',使其明确为long类型,如2147483648L,从而避免溢出错误。这样做后,数值可以正确存储并输出。
摘要由CSDN通过智能技术生成

当我们想定义一个变量来储存一个过大整数(这里举例用2147483648,是因为他已经大出int类型最大值2147483647)
故使用long定义变量,如下:

public class 过大整数储存问题 {
    public static void main(String[] args) {
        long z = 2147483648;
        System.out.println(z);
    }
}

显示报错:java: 整数太大
这里产生疑惑,long类型能储存最大值已远远大出我们要储存的值但依然报错。
问题在于:Java在读取一个数时默认是int类型,即我们在将2147483648赋给Z时,已经超出范围。
修改办法:在要储存的整数后加 L 使其以long类型读取
即代码为

public class 过大整数储存问题 {
    public static void main(String[] args) {
        long z = 2147483648L;
        System.out.println(z);
    }
}

这里可以看到输出结果:2147483648表明读取和输出正常

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值