基于java解惑(站长百科)阅读笔记
java的奇数
在判段一个整型数据的奇偶性时,还要注意其符号(+,-);
取余:
{i % 2 == 1}
%(取余)判断无法识别符号,所以在判断负整数是都会返回false
正确使用:
{i % 2 != 0}
而当处于性能临界环境时,推荐使用位操作符:
{(i & 1) != 0}
小数
在二进制浮点数表示中并不是所有的小数都能够精确的表示;
在JDK5.0以后,虽然有{printf}工具对输出精度进行设置,但是他用的仍然是二进制浮点数进行计算,而二进制浮点数并不能进行急缺的计算,所以在一些精密的计算中并不适用。
#换算:
例如在货币中可以将单位换为分,然后用int或long进行运算
#BigDecimal:
运用BigDecimal(String)构造器;虽然在java中并没有对BigDecimal提供任何语言支持,从而BigDecimal的运算相对于传统的计算慢一些,这个问题对于大量使用小数计算的程序来说比较麻烦,而对大多数程序基本上可以忽略不计。
#例 (2.0-1.0):
{
System.out.println
(newBigDecimal("2.00")
.subtract(new BigDecimal("1.10")));
}
总的来说,在需要精确计算的时候,一定要避免使用float和double;而是选择int/long/BigDecimal。
本人java小白,文章仅供参考,如有错误缺陷,求大佬多多指导。