很容易看出这个表达式计算的范围早已超出int的取值范围, 纵然使用long去存储计算结果, 但是在计算的过程中就已经出现计算数据溢出, 这是一个隐藏错误....4.long的 "L" 与 "l" 所引发的错误
从上面 "长整数运算造成数据溢出" 引发又一个问题, 看下面例子:
public class Elementary{
public static void...思考:
小写字母 l 与 1 很容易造成混淆, 为了避免这种错误, 在表示long类型数据的, 要做的就是将 "l" 换做 "L", 掐断产生混乱的源头.
5.多重类型转换引发的数值变化
看这样的一个例子...所以在Java中准确的写法是:
y = ( x^=( y^=x ) )^y
思考:
上面的这种写法极其容易引起错误, 程序的可读性受到很大的影响, 所以在写代码的时候要思考一个问题, 除非编译器能确定操作数的运算顺序...,-128~127不需要拆包,可直接使用==比较.