Java基础常见的陷阱

浮点运算陷阱

  float/double都不能进行精确的运算-------原因:计算机是用二进制进行存储数据的,二进制不能精确的存储浮点型所有进行运算的时候会产生一定的误差

  不能简单的使用四舍五入的方法解决上面的问题

  可以使用BigDecimal类进行解决

  代码:

package org.mianshi;

import java.math.BigDecimal;

public class DoubleExample {
    public static void main(String[] args) {
        double a = 2.0;
        double b = 1.1;
        
        BigDecimal a1= new BigDecimal(Double.toString(a));
        BigDecimal b1= new BigDecimal(Double.toString(b));
        System.out.println(a-b);
        System.out.println(a1.subtract(b1));
    }
}

结果:

  

0.8999999999999999
0.9

 

字符与字符串的拼接问题

  

返回与退出陷阱

  return<finally<exit(0)的优先级由低到高

 

 

 

 

 

 

 

  

posted @ 2018-06-22 15:17  北宫乾宇  阅读(353)  评论(0编辑  收藏  举报