1、算术运算符:
2、位运算符:
算术运算符 | 名称 | 举例 |
+ | 加法 | 2+4=6 |
- | 减法 | 8-3=5 |
* | 乘法 | 2*3=6 |
/ | 除法 | 24/8=3 |
% | 取余 | 24%7=3 |
++ | 自增1 | int i=5;i++ |
-- | 自减1 | int i=7;i-- |
操作符 | 名称 | 描述(运算时均把运算数转化为二进制再做比较) | 举例 |
& | 与 | 当相对应的位数值都为1,则结果为1,否则为0 | 例如:1010&1101,转为二进制:1111110010&10001001101,比较结果为:1000000转为十进制: 64。所以1010&1101=64; |
| | 或 | 当相对应位数值都为0,则结果为0,否则为1 | 例如:110 | 101,转为二进制:1101110 | 1100101,比较结果为:1101111转为十进制:111。所以110 | 101=111; |
^ | 异或 | 当相对应位数值相等时,则结果为0,否则为1 | 例如:110 ^101,转为二进制:1101110 ^1100101,比较结果为:0001011转为十进制:11。所以110 ^101=11; |
~ | 非 | 0变1,1变0 | 例如:(〜A)得到-61,即1100 0011。结果-61=-62 |
<< | 左移 | 按位左移运算符;左操作数,按位,左移右操作数指定的位数。 | 例如:60<<2;其中60转换二进制为:111100、比较结果为:11110000转为十进制:240。所以60<<2=240; |
>> | 右移 | 按位右移运算符。左操作数按位右移右操作数指定的位数。 | 例如:60>>2;其中60转换二进制为:111100、比较结果为:1111转为十进制:15。所以60>>2=15 |
>>> | 无符号右移 | 按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。 | 例如:60>>>2;其中60转换二进制为:00001111、比较结果为:00001111转为十进制:15。所以60>>2=15 |
3、关系运算符:> < >= <= == !=。
4、逻辑运算符:与(&&)、非(!)、或(||)。
5、instanceof:双目运算符、当左侧是一个对象、右侧是一个类或者接口;当左侧的对象是右侧的子类或者实现类,则该运算符返回true,否则返回false。
6、三目运算符:a>b?1:2、当a大于b时结果为1,否则为2。