长整数赋值问题

原创 2012年03月29日 19:39:34
long EXPIRED_DATE = 60 * 24 * 60 * 60 * 1000 * 1000;
		long EXPIRED_DATE1 = 60 * 24 * 60 * 60 * 1000 * 1000L; 
		long EXPIRED_DATE2 = 60L * 24 * 60 * 60 * 1000 * 1000; 
		System.out.println("EXPIRED_DATE="  + EXPIRED_DATE); 
		System.out.println("EXPIRED_DATE1="  + EXPIRED_DATE1); 
		System.out.println("EXPIRED_DATE2="  + EXPIRED_DATE2); 

输出结果

EXPIRED_DATE=-25526272
EXPIRED_DATE1=889032704000
EXPIRED_DATE2=5184000000000


第一个EXPIRED_DATE

并不会自动转化为long,而是一个int,10天的毫秒数就超过了int的最大值了,因此10天不到就过期了! 
  这儿犯下的错误是其实对 “整数字面值赋值时默认为int型”这个基础Java知识的忽视造成的.如果要让JVM将字面数字当成long,则必须在字面数字后显示加L标识

第二个EXPIRED_DATE1

如果1000前面的数值大于int最大值的话还是会出错,最好第一位写成60L

相关文章推荐

问题六十七: 求任一长整数n的各位数字之和。

/* 程序头部注释开始(为避免提交博文中遇到的问题,将用于表明注释的斜杠删除了) * 程序的版权和版本声明部分 * All rights reserved. * 文件名称...

整数因子分解问题

  • 2015年04月20日 10:50
  • 30KB
  • 下载

大整数问题

  • 2013年12月25日 11:49
  • 14KB
  • 下载

nyoj 571 整数划分问题(dp)

整数划分(三) 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 整数划分是一个经典的问题。请写一个程序,完成以下要求。   ...

归纳法实现整数划分问题

  • 2014年04月04日 20:09
  • 400B
  • 下载

分治法的经典问题——大整数相乘

分治法的原理讨论问题时,先来了解一下什么是分治法。 分治法的意思就是,分而治之,也就是把一个问题,拆分成几个小问题,最后再汇总解决的方法 通过大整数相乘问题来了解分治法假如现在我们要求两个大整数相...
  • jeffleo
  • jeffleo
  • 2016年12月03日 17:13
  • 4695

高精度整数问题

  • 2012年11月09日 17:00
  • 59KB
  • 下载

11088 整数划分的扩展问题

  • 2016年06月30日 23:38
  • 839B
  • 下载

动态规划解决整数划分的问题

前几天去华为做机试,遇到一个整数划分的问题,题目是:现有1,2,5,10,20,50,100 元这几种钱币,问给定n元能有多少种分配方式。例如n=4时,有1+1+1+1  ,1+2+1 , 2+2 三...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:长整数赋值问题
举报原因:
原因补充:

(最多只允许输入30个字)