问题解决
Mason技术
暂无
展开
-
int整数相乘溢出
我们计算一天中的微秒数: long microsPerDay = 24 * 60 * 60 * 1000 * 1000;// 正确结果应为:86400000000 System.out.println(microsPerDay);// 实际上为:500654080 问题在于计算过程中溢出了。这个计算式完全是以int运算来执行的,并且只有在运算完成之后,其结果才被提升为long,而此时已经原创 2017-07-10 21:18:37 · 4521 阅读 · 0 评论 -
小数精确计算
System.out.println(2.00 -1.10);//0.8999999999999999 上面的计算出的结果不是 0.9,而是一连串的小数。问题在于1.1这个数字不能被精确表示为一个double,因此它被表 示为最接近它的double值,该程序从2中减去的就是这个值,但这个计算的结果并不是最接近0.9的double值。 一般地说,问题在于并不是所有的小数都可以用二进制浮点数精确表示原创 2017-07-10 21:13:40 · 299 阅读 · 0 评论 -
双重for循环删除数据
1.倒过来遍历listfor (int i = list.size()-1; i >=0; i--) { int item = list.get(i); if (item == 3) { list.remove(item); } } 2.每移除一个元素以后再把i移回来for (int i = 0; i < lis原创 2017-07-10 21:11:53 · 2063 阅读 · 0 评论