Java运算符全解析
1. 算术运算符
算术运算符可用于任何基本数值类型,主要的二元算术运算符如下:
| 运算符 | 操作 |
| ---- | ---- |
| + | 加法 |
| - | 减法 |
| * | 乘法 |
| / | 除法 |
| % | 取余 |
此外,还可以使用一元 - 进行取反操作,示例代码如下:
val = -val;
同时,也存在一元 +,例如 +2.0 。二元算术运算符的具体操作取决于操作数的类型,下面分别介绍整数算术和浮点算术的不同规则。
1.1 整数算术
整数算术采用模二补码运算。如果一个值超出了其类型(int 或 long)的范围,它会对该范围取模。因此,整数算术不会发生溢出或下溢,只会回绕。整数除法会向零截断,例如 7/2 结果为 3,-7/2 结果为 -3。对于整数类型,除法和取余遵循规则 (x/y)*y + x%y == x ,所以 7%2 是 1,-7%2 也是 1。整数算术里,除以零或对零取余是无效操作,会抛出 ArithmeticException 异常。字符算术是在 char 隐式转换为 int 后进行的整数算术。
1.2 浮点算术
浮点算术可能会溢出到无穷大(对于 double 或 float 太大)或下溢(对于 double 或 float 太小)。下溢会导致精度损失,可能会得到零值。无效表达式(如无穷大除以无穷大)
超级会员免费看
订阅专栏 解锁全文
1139

被折叠的 条评论
为什么被折叠?



