0 写在前面
在JAVA中存在:
一元运算符、二元运算符、算术赋值运算符。
下面简单记录下。
1 一元运算符
-
:取反符号 取反运算
++
:自加一 先取值再加一,或先加一再取值
--
:自减一 先取值再减一,或先减一再取值
此处可以看以简单看下JavaScript代码实现自加自减
int a = 21;
System.out.println(-a);//取反:-21
int b = a++;//b=21 a=22
System.out.println(b);//输出21
b = ++a;//b=23 a=23
System.out.println(b);//输出23
2 二元运算符
+
:加–>求 a 加 b 的和,还可用于 String 类型,进行字符串连接操作
-
:减–> 求 a 减 b 的差
*
:乘–> 求 a 乘以 b 的积
/
:除–> 求 a 除以 b 的商
%
:取余–> 求 a 除以 b 的余数
此处跟数学一样,先算乘除后算加减,有括号先算括号内的。
以及被除数不可为0:如果除数为0则会引发异常java.lang.ArithmeticException: / by zero
举例看下float/double的:
float f1 = 7 % 4;// 保存取余后浮点类型的结果
double example1 = 7 + 5.7; // 双精度加法
double example2 = 7 - 3.0; // 双精度减法
double example3= 7 * 3.1; // 双精度乘法
double example4 = 7 / 2.8; // 双精度除法
double example5 = 7 % 3; // 双精度取余
System.out.println(f1);//3.0
System.out.println(example1);//12.7
System.out.println(example2);//4.0
System.out.println(example3);//21.7
System.out.println(example4);//2.5
System.out.println(example5);//1.0
对于String类型的加号则是连接符
String x1 = "yue";
String x2 = "teng";
String x3 = x1 + x2;
System.out.println(x3);//输出yueteng
3 算术赋值运算符
+=
:加赋值
-=
:减赋值
*=
:乘赋值
/=
:除赋值
%=
:取余赋值
int a = 7;
int b = 4;
a += b; // 相当于 a = a + b
System.out.println(a);//11
只是简单聚一下加赋值的例子,剩余的可以自行测试一下;
4 写在末尾
运算符丰富是 Java 语言的主要特点之一,它提供的运算符数量之多,在高级语言中是少见的。
如果在一个表达式中的多个算术运算符的优先级别相同,例如“a-b+c”,此时将按照运算符的结合方向决定顺序。算术运算符的结合方向都是“从左至右”,即先左后右。因此 b 先与减号结合,执行“a-b”的运算,再执行加 c 的运算。