一、算术运算符

运算符 数学含义 示例
+ a+b
- a-b,-b
* a*b
/ a/b
% 取模 a%b
++ 自增 a++,++a
-- 自减 a--,--a

 

二、比较运算符

运算符 数学含义 示例
> 大于 a>b
< 小于 a<b
== 等于 a==b
>= 大于等于 a>=b
<= 小于等于 a<=b

比较运算表达式的结果是布尔值(true或false)

三、逻辑运算符

运算符 数学含义 示例
! !a
&& a&&b
|| a||b

 

四、位运算符

运算符 含义 示例
~ 按位非(NOT) ~a
& 按位与(AND) a&b
| 按位或(OR) a|b
^ 按位异或(XOR) a^b
>> 右移 a>>b
>>> 无符右移 a>>>b
<< 左移 a<<b

1、按位非(NOT)

语法格式:~value1

按位非也叫做补,一元运算符“~”是对其运算符的每一位取反。例如42的二进制代码为00101010,则~00101010=11010101.

2、按位与(AND)

语法格式:value1&value2

按位与运算符“&”,如果两个运算符都是1,则结果为1,其他结果均为0。例如 00101010&00001111=00001010

3、按位或(OR)

语法格式:value1|value2

按位或运算符“|”,任何一个运算符数为1,则结果为1.例如 00101010|00001111=00101111

4、按位异或(XOR)

语法格式:value1^value2

按位异或运算符“^”,只有在两个比较的位不同时其结果是1,否则结果为0

5、右移

语法格式:value>>num

num指定要位移value移动的位数,即右移运算符>>使指定值的所有位都右移num位。当值中的某些位被移出时,这些位的值将丢弃。右移时,被移走的最高位(最左边的位)由原来最高位的数字补充。例如 11111000>>1=11111100

6、无符右移

语法格式:value>>>num

num指定要位移value移动的位数,即无符号右移运算符>>>使指定值的所有位都右移num位。当值中的某些位被移出时,这些位的值将丢弃。右移时,被移走的最高位(最左边的位)由0补充。例如 11111000>>>1=01111100

7、左移

语法格式:value<<num

num指定要位移值value移动的位数,即左移运算符<<指定值的所有位都左移num位。每左移一位,高阶位都被移出(并且丢弃),并用0填充右边。这意味着当左移的运算数是int类型时,每移动1位它的第63位就要被移出并且丢弃。例如 11111000<<1=11110000

五、赋值运算符

运算符 示例
+= a+=b
-= a-=b
*= a*=b
/= a/=b
%= a%=b

 

六、条件运算符

条件运算符是三元运算符,语法格式如下

<表达式>?e1:e2

其中,表达式的值为布尔类型,若表达式的值为真,则返回e1的值,若表达式的值为假,则返回e2的值。

七、运算符优先级

优先次序 运算符
1 .、[]、()
2 ++、--、!、~、instanceof
3 new、(type)
4 *、/、%
5 +、-
6 >>、>>>、<<
7 >、<、>=、<=
8 ==、!=
9 &
10 ^
11 |
12 &&
13 ||
14 ?:
15 =、+=、-=、*=、/=、%=、^=
16 &=、|=、<<=、>>=、>>>=
posted on 2022-11-05 11:41  Santariki  阅读(45)  评论(0)    收藏  举报