六、运算符
1.java中都有哪些运算符?
算术运算符 | +、 -、 *、 /、 %(取模) 、 ++(自加 1【单目】) 、 --(自减 1【单目】) |
---|---|
关系运算符 | >、 >=、 <、 <=、 ==、 != |
逻辑运算符 | &(逻辑与) 、 |(逻辑或) 、 !(逻辑非) 、 &&(短路 与) 、 ||(短路或) |
赋值运算符 | =、 +=、 -=、 *=、 /=、 %=、 ^=、 &=、 |=、 <<=、 >>= |
位运算符 | &(按位与) 、 |(按位或) 、 ^(按位异或) 、 ~(按位 取反【单目】) 、 <<(左移) 、 >>(带符号右移) 、 >>> (无符号右移) |
条件运算符 | 布尔表达式 ? 表达式 1 : 表达式 2 (三目) |
字符串连接运算 符 | + |
其它运算符 | instanceof、 new |
2.运算符的优先级
优先级 | 运算符 | 结合方向 |
---|---|---|
1 | ()[] .(点操作符) | 从左到右 |
2 | +(正号) -(负号) ++ – ~ ! | 从右到左 |
3 | * / % | 从左到右 |
4 | +(加) -(减) | 从左到右 |
5 | << >> >>> | 从左到右 |
6 | < <= > >= instanceof | 从左到右 |
7 | == != | 从左到右 |
8 | & | 从左到右 |
9 | | | 从左到右 |
10 | ^ | 从左到右 |
11 | && | 从左到右 |
12 | || | 从左到右 |
13 | ? : | 从右到左 |
14 | = += -= *= /= %= |= ^= <<= >>= >>>= | 从右到左 |
这个运算符的优先等级不需要死记硬背,在使用时,如果不确定只需要添加小括号即可。
3.运算符详解
1)算术运算符
算术运算符包括:+(两个数字求和)、-(两个数字相减)、*(两个数字相乘)、/(两个数字相除)、%(两个数字取模或求余)、++(单目运算符,对数字自加1)、–(单目运算符,对数字自减1)。
- ++和–运算符分为前缀自加(自减)和后缀自加(自减),前缀自加(自减)是先给变量自加(自减)1,再进行运算;后缀自加(自减)是先进行运算再给变量自加(自减)1。代码示例如下: