第05部分(算术运算符)

算术运算符可用于整数、浮点数和字符(即除了布尔类型之外的所有基本类型)。如果其中有个操作数是浮点数,就按浮点算术运算;否则,按整数算术运算。这点很重要,因为整数算术和浮点算术是有区别的,例如除法的运算方式,以及上溢和下溢的处理方式。




算术运算符有以下几种:

加法(+)
减法(-)
乘法(*)
除法(/)
求模(%)
负号(-)




详细说明如下:
加法(+)
+号计算两个数之和。+号还能连接两个字符串。如果+号的操作数中有一个是字符串,另一个也会转换成字符串。如果想把加法和连接字符串放在一起使用,一定要使用括号,否则结果会出错,例如:
System.out.println("Total: " + 3 + 4); // 打印“Total: 34”,不是37


减法(-)
-号当成二元运算符使用时,计算第一个操作数减去第二个操作数得到的结果。例如,7-3的结果是4。-号也可以执行一元取负操作。


乘法(*)
*号计算两个操作数的乘积,例如,7*3的结果是21。


除法(/)
/号用第一个操作数除以第二个操作数。如果两个操作数都是整数,结果也是整数,丢掉余数。如果有一个操作数是浮点数,结果也是浮点数。两个整数相除时,如果除数是0,抛出ArithmeticException 异常,不过,对浮点数的计算来说,如果除以0,得到的是无穷大或NaN,例如:
7/3// 计算结果为2
7/3.0f//计算结果为2.333333f
7/0//抛出ArithmeticException异常
7/0.0// 计算结果为正无穷大
0.0/0.0// 计算结果为NaN
【第05部分(算术运算符)】

求模(%)
%运算符计算第一个操作数和第二个操作数的模数,即返回第一个操作数除以第二个操作数的余数,例如7%3的结果是1。结果的负号和第一个操作数的负号一样。虽然求模运算的操作数一般是整数,但也可以使用浮点数,例如4.3%2.1的结果是0.1。如果操作数是整数,计算零的模数会抛出 ArithmeticException 异常。如果操作数是浮点数,计算 0.0 的模数得到的结果是 NaN。计算无穷大和任何数的模数得到的结果也是 NaN。


负号(-)
如果把 - 号当成一元运算符使用,即放在单个操作数之前,执行的是一元取负运算。也就是说,会把正数转换成对应的负数,或把负数转换成对应的正数。

    推荐阅读