Java编程中的数值处理、用户输入与异常处理
1. 实数存储的精度问题
计算机无法精确存储实数(浮点数和双精度浮点数)。给实数的精度越高,例如使用双精度数(double)而不是单精度数(float),计算机的计算结果就会越精确。例如,在一个小费计算应用中,计算 0.15 * 22.50
时,结果可能是 3.3750002
而不是预期的 3.375
。在Java程序中使用实数时,要牢记这一点。
2. 运算符优先级
运算符优先级决定了操作应用于数字的顺序。一般来说,乘法( *
)、除法( /
)和取模( %
)的优先级高于加法( +
)和减法( -
)。这意味着乘法、除法和取模运算会在加法和减法之前进行计算。当运算符优先级相同时,操作从左到右进行。
示例代码
int x = 10 – 4 + 14 / 2;
上述代码中, x
的值不是 10
。如果严格从左到右计算, 10 – 4 = 6
; 6 + 14 = 20
; 20 / 2 = 10
。但由于除法运算符先计算,所以表达式的值是 13
( 10 – 4 +