1.算数运算符
假设:
int x = 20;
int y = 10;
| 操作符 | 描述 | 例子 |
|---|---|---|
| + | 两侧的值进行相加 | x + y 为 30 |
| - | 前者的值减去后者的值 | x - y 为10 |
| * | 两侧的值进行相乘 | x * y 为200 |
| / | 前者的值除以后者的值 | x / y 为2 |
| % | 前者的值对后者的值取余 | x % y 为0 |
| ++ | 操作数的值自加一 | x++后x的值为21 |
| – | 操作数的值自减一 | x–后x的值为19 |
2.关系运算符
关系元素符返回值都是boolean类型,要么为true,要么为false
| 运算符 | 描述 |
|---|---|
| == | 判断两侧的值是否相等,相等返回true,否则返回false |
| != | 判断两侧的值是否不等,不等返回true |
| < | 前者是否小于后者,小于则返回true |
| > | 前者是否大于后者,大于则返回true |
| <= | 前者是否小于等于后者,小于等于则返回true |
| >= | 前者是否大于等于后者,大于等于则返回true |
int x = 20;
int y = 10;
System.out.println(x == y);
System.out.println(x != y);
System.out.println(x < y);
System.out.println(x > y);
System.out.println(x <= y);
System.out.println(x >= y);
false
true
false
true
false
true
3.逻辑运算符
逻辑运算符的返回结果都是boolean类型
| 运算符 | 描述 |
|---|---|
| && | 逻辑与运算符,前者和后者如果同时为true,则返回true,否则返回false,具有短路功能 |
| || | 逻辑或运算符,前者和后者如果同时为falsel,则返回false,否则返回true,具有短路功能 |
| ! | 逻辑非运算符,对逻辑进行取反,对true取反返回false,对false取反返回true |
& 和 |同时也有逻辑运算功能,但是无法短路
System.out.println(true && true);
System.out.println(true && false);
System.out.println(false && false);
System.out.println(true || true);
System.out.println(true || false);
System.out.println(false || false);
System.out.println(!true);
System.out.println(!false);
true
false
false
true
true
false
false
true
4.位运算符
位操作表示按二进制位运算,计算机中都是使用二进制来表示数据的,按位运算就是在按照二进制位的每一位依次进行计算。
| 运算符 | 描述 |
|---|---|
| & | 按位与,如果两个二进制位都是1,结果为1,否则为0 |
| | | 按位或,如果两个二进制位有一个是1,结果为1,否则为0 |
| ~ | 按位取反,如果该位为0,则结果为1,如果该位为1,则结果为0 |
| ^ | 按位异或,如果两个数字的二进制位相同,则结果为0,否则为1 |
5.移位运算符
同样是按照二进制位进行运算
| 运算符 | 描述 |
|---|---|
| >> | 最右侧位舍弃,最左侧补符号位 |
| << | 最左侧位舍弃,最右侧补0,相当于乘以2 |
| >>> | 最右侧舍弃,最左侧无论符号,都补0 |
计算机移位运算效率高于乘除,所以一个数乘以8的最快运算就是<<3
6.条件运算符
表达式1 ? 表达式2 : 表达式3
当表达式1的值为true时,执行表达式2,否则执行表达式3
7.赋值运算符
可以分为普通的,例如"=",以及扩展的,都具有赋值的功能
| 运算符 | 描述 |
|---|---|
| = | 基本的赋值运算符,直接把后者的值赋给前者 |
| += | 左操作数和右操作数相加赋给左操作数 |
| -= | 左操作数和右操作数相减赋给左操作数 |
| *= | 乘后赋给左操作数 |
| /= | 相除后赋给左操作数 |
| %= | 取余后赋给左操作数 |
| >>= | 左操作数右移右操作数的位数后,赋值给左操作数 |
| <<= | 左移后赋给左操作数 |
| >>> = | 无符号右移后赋给左操作数 |
| &= | 左操作数和右操作数按位与后赋给左操作数 |
| |= | 按位或赋给左操作数 |
| ^= | 按位异或后赋给左操作数 |
4343

被折叠的 条评论
为什么被折叠?



