算术运算符
在数学运算中最常见的就是加减乘除,被称作四则运算。Java中的算术运算符就是用来处理四则运算的符号,这是最简单、最常用的运算符号。接下来通过一张表来展示Java中的算术运算符及其用法,如表1所示。
表1 算术运算符
运算符 | 运算 | 范例 | 结果 |
---|---|---|---|
+ | 正号 | +3 | 3 |
- | 负号 | b=4;-b; | -4 |
+ | 加 | 5+5 | 10 |
- | 减 | 6-4 | 2 |
* | 乘 | 3*4 | 12 |
/ | 除(即算数中整除的结果) | 7/5 | 1 |
% | 取模(即算术中的求余数) | 7%5 | 2 |
++ | 自增(前) | a=2;b=++a; | a=3;b=3; |
++ | 自增(后) | a=2;b=a++; | a=3;b=2; |
-- | 自减(前) | a=2;b=--a; | a=1;b=1; |
-- | 自减(后) | a=2;b=a--; | a=1;b=2; |
算术运算符看上去都比较简单,也很容易理解,但在实际使用时还有很多需要注意的问题,接下来就针对其中比较重要的几点进行详细地讲解,具体如下:
1.在进行自增(++)和自减(--)的运算时,如果运算符(++或--)放在操作数的前面则是先进行自增或自减运算,再进行其他运算。反之,如果运算符放在操作数的后面则是先进行其他运算再进行自增或自减运算。
请仔细阅读下面的代码块,思考运行的结果。
int a = 1;
int b = 2;
int c = a + b++;
System.out.print("b=" + b);
System.out.print("c=" + c);
上面的代码块运行结果为:b=3、c=3,具体分析如下:
在上述代码中,定义了三个int类型的变量a、b、c,其中a=1、b=2。当进行“a+b++”运算时,由于运算符++写在了变量b的后面,会先运算再自增,因此变量b在参与加法运算时其值仍然为2;c的值应为3;变量b在参与运算之后会进行自增,因此b的最终值为3。
2.在进行除法运算时,当除数和被除数都为整数时,得到的结果也是一个整数;如果除法运算有小数参与,得到的结果会是一个小数。例如,2510/1000属于整数之间相除,会忽略小数部分,得到的结果是2,而2.5/10的结果为0.25。
请思考一下下面表达式的结果是多少。
3500/1000*1000
上面表达式的运行结果为3000。由于表达式的执行顺序是从左到右,所以先执行除法运算3500/1000,得到结果为3,再乘以1000,得到的结果自然就是3000了。
3.在进行取模(%)运算时,运算结果的正负取决于被模数(%左边的数)的符号,与模数(%右边的数)的符号无关。例如:(-5)%3的结果为-2,而5%(-3)的结果为2。