Java算术运算符的使用
Java 的运算符极其丰富,除了有优先级的特点外,还需要注意结合性。
当一个表达式中出现多个运算符时,执行的先后顺序不仅取决于运算符的优先级,还受结合性的约束,需要确定是自左向右进行运算还是自右向左进行运算。
运算符按照操作数的数量可以分为单目运算符、双目运算符和三目运算符。
一元运算符
有 -(取反)、++(自增)、- -(自减)三种
1.取反 -
取反和减号区分:
取反运算时,只有一个操作数;
做减号运算时,需要两个操作数;
int a = 5;
int b = -a;//取反运算
int c = a -b;减号运算
System.out.println(b);//结果是-5
System.out.println(c);//结果是10
2.自增 ++
(前)++:先自增+1,再进行其他运算;
(后)++:先进行其他运算,再自增+1;
3.自减 - -
(前)–:先自减1,再进行其他运算;
(后)–:先进行其他运算,再自减1;
举例:
int a = 3;
int c = a++; //c = 3 , a =4
int d = ++a; //d = 5 , a =5
int e = a--; //e = 5 , a = 4
int f = --a; // f = 3 , a = 3
二元运算符
有+(加)、-(减) 、*(乘) 、/(除)、%(取模):
加减乘除和平时使用的数学运算一致,取模运算是求除法运算后的余数。
1.除号 /
举例:
int num1 = 12;
int num2 = 5;
int result = num1 / num2;//结果为2
double result2 = num1 / num2 + 0.0;//结果为2.0
double result3 = num1 / (num2 +0.0);//结果为2.4
double result4 = (double)num1 / num2;//结果为2.4
double result5 = (double)(num1 / num2);//结果是2.0
2.取模 %
取模结果的符号与被模数相同
实际开发中,经常使用取模判断能否被除尽。
int i = -10;
int j = 10;
int result1 = i %3;//result1结果是-1
int result2 = i %3;//result2结果是1