3.1 算术运算符

算术运算符用来进行一些常规的算术运算操作,比如两个数相加、相减、相乘等。Java中所有的算术运算符如表3-1所示。

表3-1 算术运算符

在表3-1中的算术运算符中,除了基本的加减乘除运算之外,还有自增、自减、取余运算等。这些运算符的特点如下所示:


● +:一个单目运算符,就是正号的意思。

● -:一个单目运算符,就是负号的意思。

● +:一个双目运算符,表示加。

● -:一个双目运算符,表示减。

● *:一个双目运算符,表示乘。

● /:一个双目运算符,表示除。

● %:一个双目运算符,表示取余,如5%3的结果是2。

● ++(前置):一个单目运算符,表示自增1,如1自增之后变成2。前置时先自增,将自增后的值返回。

● ++(后置):一个单目运算符,表示自增1,如1自增之后变成2。后置时先自增,将自增前的值返回。

● --(前置):一个单目运算符,表示自减1,如1自减之后变成0。前置时先自减,将自减后的值返回。

● --(后置):一个单目运算符,表示自减1,如1自减之后变成0。后置时先自减,将自减前的值返回。

● +:一个双目运算符,表示连接字符串,必须有一侧为字符串,其他类型都会自动转换成字符串。


算术运算符的使用如示例3-1所示。

【示例3-1】算术运算符

程序编译后,运行结果如下所示:

在示例3-1中,简单地使用了常用的算术运算符。在进行自增或自减运算时,首先将变量c置为10,其作用是防止前面的数值的变化对后面的操作造成影响,从而将影响降到最低。

关于算术运算符,下面有一些细节部分需要注意:


● 如果对负数取模,可以把模数负号忽略不计,如5%-2=1,若被模数是负数,则不可忽略。此外,取模运算的结果不一定总是整数,取模的符号取决于被模数。

● 对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。

● “+”除字符串相加功能外,还能把非字符串转换成字符串。

● +0与-0在浮点类型变量存储中,符号位是不同的。当-0和+0参与浮点类型的相关运算(例如相除与求余运算)时,可以产生不同的结果。

● 对于除号“/”,分母不能为0,否则会有ArithmeticException异常。