java解惑笔记

来源:互联网 发布:淘宝查号的二维码 编辑:程序博客网 时间:2024/04/30 20:46

今天抽空下了《java解惑》这本书看了一下,确实不错,提出了很多我们平时不会注意的小问题。想想如果不注意说不定会因为一个BUG郁闷个一两天也找不到。以下是总结的笔记,备忘~~

 

1.判断奇数

i % 2 == 1 在i 为负数时结果为-1,所以使用i % 2 != 0来判断;当有性能要求时使用 (i & 1) != 0。

*在使用%时一定要考虑到操作数的符号的影响!

2.不是所有小数都可以用二进制浮点数来表示(如1.1等)

2.00-1.10 = 0.89999999999

*方法一:使用整型来计算    (200-110)/100 = 0.9

*方法二:new BigDecimal("2.00").subtract(new BigDecimal("1.10"));   //必须使用new Decimal(String)这个构造

3.在操作很大的数字时要防止溢出

long a = 24*60*60*1000*1000;   //因为是int之间的运算,结果先保存在一个int中再赋给a,导致溢出

long b=24*60*60*1000;

a/b = 5;

*方法:long a = 24L*60*60*1000*1000;

4.在使用条件操作符(?a:b)时,尽量保持a与b的类型一致

5.复合赋值表达式自动将运算的结果转型为左侧变量的类型

原创粉丝点击