基于Java解惑(站长百科)阅读笔记

长整除

例:(微秒/毫秒)

{ 			
	long a = 24 * 60 * 60 * 1000 * 1000;	
    long b = 24 * 60 * 60 * 1000
    System.out.println(a / b);
}  
当两个long类型的变量做除法运算;并且这两个long类型是由其他常量合并(多个数据运算)得到的;因为常量的初始化是int类型,而java语言无法确定目标的类型,所以在(a=24606010001000)中是以int来运算的,虽然a定义的是long类型,而在赋值给a之前一直是以int类型进行运算;在运算结束后才被提升为long类型。 所以在计算结束之前数值就已经溢出,故最终a得到的值并不是最初想要的值
解决:
将计算的第一个常量转型为long类型,最终得到的结果就会是一个long类型的数。
{		
	long a = 24L * 60 * 60 * 1000 * 1000;	
    long b = 24L * 60 * 60 * 1000;
    System.out.println(a / b);
}	

初级问题

问:
{		
	System.out.println(12345+5432l);
}
打印的结果?“66666”?△17777
在这个打印中是:int类型12345加上long类型的5432;在日常显示中小写字母 ’ l ’ 与数字 ’ 1 ’ 是比较容易混淆的,所以应该避免单独使用小写字母 ’ l ';
{		
	System.out.println(12345+5432L);	
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

啊哈不会秃头

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值