目录
- 算数运算符
- 赋值运算符
- 比较运算符
- 逻辑运算符
- 位运算符
- 运算符的优先级
在程序中我们经常会用到一些特殊符号,例如:+、-、*、=、>等,这些特殊的富豪称作运算符,运算符用于对数据进行算术运算、赋值和比较等操作,在java中,运算符可分为算术运算符,赋值运算符,比较运算符,逻辑运算符,位运算符,三元运算符。
算数运算符
在数学运算符总最常见的就是加减乘除,被称作四则运算。java中的算术运算符就是用来处理四则运算,以下是最常用的运算符号:
运算符 | 运算 | 范例 | 结果 |
+ | 正号 | +3 | 3 |
- | f负号 | b=4;-b; | -4 |
+ | 加 | 3+3 | 6 |
- | 减 | 6-2 | 4 |
* | 乘 | 3*4 | 12 |
/ | 除 | 5/5 | 1 |
% | 取模(即算术中的求余数) | 7%5 | 2 |
++ | 自增(前) | a=2;b=++a | a=3;b=3; |
++ | 自增(后) | a=2;b=a++ | a=3;b=2; |
– | 自减(前) | a=2;b=–a | a=1;b=1; |
– | 自减(后) | a=2;b=a– | a=1;b=2; |
赋值运算符
作用就是将常量、变量或表达式的值赋给某一个变量
运算符 | 运算 | 范例 | 结果 |
= | 赋值 | a=3;b=2 | a=3;b=2 |
+= | 加等于 | a=3;b=2;a+=b | a=5;b=2 |
-= | 减等于 | a=3;b=2;a-=b | a=1;b=2 |
*= | 乘等于 | a=3;b=2;a*=b | a=6;b=2 |
/= | 除等于 | a=3;b=2;a/=b | a=1;b=2 |
%= | 模等于 | a=3;b=2;a%=b | a=1;b=2 |
在赋值过程中,运算顺序从右往左,将右边表达式的结果赋值给左边的变量。
比较运算符
用于对两个数值或变量进行比较,其结果是一个布尔值,即true或false。
运算符 | 运算 | 范例 | 结果 |
== | 相等于 | 4==3 | false |
!= | 不等于 | 4!=3 | true |
< | 小于 | 4<3 | false |
> | 大于 | 4>3 | true |
<= | 小于等于 | 4<=3 | false |
>= | 大于等于 | 4>=3 | true |
注:运算符==不能同=使用。
逻辑运算符
用于对布尔值的数据进行操作,其结果仍是一个布尔类型数据。
运算符 | 运算 | 范例 | 结果 |
& | 与 | ||
true & true | true | ||
true & false | false | ||
false & false | false | ||
false& true | false | ||
| | 或 | ||
true | true | true | ||
true |false | true | ||
false |false | false | ||
false|true | true | ||
^ | 异或 | ||
true ^ true | false | ||
true ^ false | true | ||
false ^ false | false | ||
false ^ true | true | ||
&& | 非 | ||
true && true | true | ||
true && false | false | ||
false && false | false | ||
false && true | false | ||
|| | 短路或 | ||
true || true | true | ||
true ||false | true | ||
false|| false | false | ||
false || true | true | ||
! | 非 | ||
!true | false | ||
!false | true | ||
位运算符
针对二进制数的每一位进行运算的符号,它是专门针对数字0或1进行操作的。
运算符 | 运算 | 范例 | 结果 |
& | 按位与 | ||
0 & 0 | 0 | ||
0& 1 | 0 | ||
1 & 1 | 1 | ||
1 & 0 | 0 | ||
| | 按位或 | ||
0 | 0 | 0 | ||
0 | 1 | 1 | ||
1 | 1 | 1 | ||
1 | 0 | 1 | ||
^ | 按位异或 | ||
0 ^ 0 | 0 | ||
0 ^ 1 | 1 | ||
1 ^ 1 | 0 | ||
1 ^ 0 | 1 | ||
~ | 取反 | ||
~0 | 1 | ||
~1 | 0 | ||
<< | 左移 | ||
00000010<<2 | 00001000 | ||
10010011<<2 | 01001100 | ||
>> | 右移 | ||
01100010>>2 | 00011000 | ||
11100010>>2 | 11111000 | ||
>>> | 无符号右移 | ||
01100010>>>2 | 00011000 | ||
11100010>>>2 | 0011...111000 |
# 三元运算符 与if-else结构的含义差不多,这种运算符会将某个条件作两种处理,如果满足条件的话就执行第一个结果,如果不满足的话就执行另外一个结果。
三元运算符的格式
(关系表达式) ? 表达式1 : 表达式2;
Int A,B,C;
A=2;
B=3;
C=A>B ? 100 :200;
以上代码表示如果A>B的话,就将C的值为100,否则C的值为200
运算符的优先级
优先级 | 运算符 |
1 | . [] () |
2 | ++ - - ~ ! (数据类型 ) |
3 | * / % |
4 | + - |
5 | << >> >>> |
6 | < > <= >= > |
7 | == != |
8 | & |
9 | ^ |
10 | | |
11 | && |
12 | | | |
13 | ? : |
14 | = *= /= %= += -= <<= >>= >>>= &= ^= |
今天先写到这里,后续持续更新,如果有问题欢迎大家评论,将及时改正.