一、能进行哪些运算?

+-*/

二、为什么浮点数不精确?

因为0.1在计算机中用二进制表示是一个无限循环小数

三、如何判断两个小数是否相等?

  1. double r = Math.abs(x-y);
  2. if(r<0.00001){
  3. //认为相等
  4. }else{
  5. //不相等
  6. }

四、类型提升

操作数有整数类型有浮点数类型,那整数就会被提升为浮点数类型。

五、强制转型

会去除小数部分。

  1. int n = (int) 1.2;//n=1;

如何四舍五入:

  1. int c = (int) (2.4 + 0.5);//2
  2. int d = (int) (2.5 + 0.5);//3

参考

  1. 浮点数运算 - 廖雪峰的官方网站