为什么定义long类型结尾还要加个L?

为什么定义long类型结尾还要加个L?

感觉并没有什么必要啊, 整型的4种类型(byte、short、int、long) 的区别不是划分内存空间的大小么, 至于里面存放的都是二进制, 那加上L 是不是意味着, 要强制这个值使用long类型? 

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

http://img1.sycdn.imooc.com//climg/5ef3dd1309121c0502400075.jpg

long类型可以不加L,在定义的这个整数没有超出int的范围时是没问题的

但浮点型float必须加f/F,不然就需要强制类型转换

36d5c 2021-08-19 15:27:30

内存空间的不同就是这个问题的关键。


如果你不加L计算机默认为int 类型,只分配4字节空间。当然就不能存储更大的L型数据。


加上L就是让计算机分配8字节空间,来存放更大的数据。

明明是只幼刀 2020-06-25 06:40:17

为了区分double和long,java里浮点数默认为double类型,所以定义long类型的浮点数就需要

long l = 5.5L;

  • 提问者 Bass小骏 #1
    long不是定义整型的么?原来还能定义浮点型啊
    2020-06-25 06:48:40
  • 明明是只幼刀 回复 提问者 Bass小骏 #2
    啊,,记错了抱歉,是为了和int进行区分,java里整型默认为int类型,所以想要定义long类型就要long l = 5.5L;
    2020-06-25 07:00:27
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师