java对整数的默认接收类型

本文探讨了Java中整数的默认接收类型为int,以及如何通过在数值后添加'L'将其转换为long类型。文章通过实例展示了超出int范围的整数会引发编译错误,并解释了正确的类型转换方法。

关于java对整数的默认接收类型

前言

今天在复习java的时候,碰到了一个问题,就是关于数据类型int和long以及其他几个可以表示数字的类型(byte short char)之间的转化问题,其实就是整数后面加不加L的问题,以及java代码中出现的整数的默认接收类型(可以推广到double和float)

正文

假设和测试

首先呢,我们打开eclipse(已经很久没用eclipse,但不得不说它依旧是一款很棒的而且免费java IDE)
(新建工程的环节略过)
直接进入正题

在这里暂时还看不出来问题,说是把这个99999999用64位的long进行储存好像也说的过去

再看看下面这个
在这里插入图片描述

到了这里的话,如果继续假设上面的说法是正确的,那么long类型显然可以存进去这个99999999999,但是这里却报了错,所以我们可以推断这个99999999999本来是打算用int储存的,但是这个999999999999却超出了int的范围,int无法接收它,所以报错了,

按照正确的做法来话

应该在99999999999后面加上一个L或者l(推荐L,防止和数字1混淆),如下

在这里插入图片描述

所以这里出现的L应该是代表把"L"前面的这个99999999999用64位的long进行储存,因为在java中的整数默认都是用32 位的int来储存的

验证

我们可以利用java打印来验证
在这里插入图片描述

这里随便打印一个99999999,编译器不报错,控制台正常输出99999999

在这里插入图片描述

当准备多输出几个9的时候,我们发现编译器报错了,原因是这里的999999999999用int是存不下了,这也正好说明了一点,java里面的出现整数都是先用int储存的,然后根据前面的基本数据类型再进行转化,比如short sh=10;就是代表把int储存的10强行赋给short,但这里并不会报错,这里的强转是没问题

在这里插入图片描述

结尾

反正要记住的是,在java中的整数类型(没有特殊标志)都是用int储存的,类似的可以猜测double和float之间的类似关系,但java中出现的小数默认是用双精度的double来接收的
(第一次写博客,写的不好的话求轻喷在此谢过大家了)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值