目录
运算符
java中的运算符分为:算术运算符、比较运算符、逻辑运算符、赋值运算符、位运算符、三目运算符。
其中算术运算符得到的结果是一个数值。
比较运算符和逻辑运算符得到是一个boolean的值
位运算符是进行二进制位运算
三目运算符是根据判断进行赋值
算数运算符
操作符 | 描述 | 示例 |
+ | 加法-相加运算符两侧的值 | |
- | 减法-左边值 减去右边值 | |
* | 乘法-相乘操作符两侧的值 | |
/ | 除法-左边值 除以 右边值 | 10/3=3 |
% | 取模-左边数 除以 右边数 所得的余数 | 10%3=1 |
++ | 自增:操作数的值增加1 | a++;++a |
-- | 自减:操作数的值减少1 | a--;--a |
比较运算符
比较完得到boolean类型的值
操作符 | 描述 | 示例 |
> | 大于 | |
< | 小于 | |
>= | 大于等于 | |
<= | 小于等于 | |
== | 等于,判断两个变量的值是否相等 | |
!= | 不等于 |
逻辑运算符
操作符 | 描述 | 示例 |
&& | 逻辑 与 运算符,当且当两边都为真,条件才为真 | true&&false = false |
|| | 逻辑 或 运算符,两边任何一个为真,条件为真。 | true||false = true |
! | 逻辑 非 运算符 | !true = false |
短路运算
表达式1&&表达式2 如果表达式1为false,根据&&的规则,已经可以判断出整个表达式的结果,就不会继续判断表达式2;
表达式||表达式2 如果表达式1位true,根据||的规则,已经可以判断出整个表达式的结果,就不会继续判断表达式2
赋值运算符
操作符 | 描述 | 示例 |
+= | 加等于 | |
-= | 减等于 | |
*= | 乘等于 | |
/= | 除等于 | |
%= | 取模等于 | |
= | 等于 |
位运算符
操作符 | 描述 | 示例 |
& | 与,如果对应位都是1,则结果为1,否则为0 | 0010&0011=0010 |
| | 或,如果对应位都是0,结果为0,否则为1 | 0010|0011=0011 |
^ | 异或,如果对应位的值相同,结果为0,否则为1 | 0010^0011=0001 |
- | 非,按位取反运算符,二进制补码按位取反,即0变1,1变0 | |
<< | 按位左移运算符,二进制原码按位左移,低位补0 | 6<<2=24 |
>> | 按位右移运算符,二进制原码按位右移,低位舍弃 | 6>>2=1 |
>>> | 按位无符号右移,低位舍弃,高位补0 | 60>>>2=15 |
三目运算符(三元运算符)
条件运算符也被称为三元运算符。该运算符有3个操作数,并且需要判断布尔表达式的值。该运算符主要是决定那个值应该赋值给变量
(expression)?value if true: value if false
运算符优先级
运算符也有优先级,如果不确定运算符优先级,可以使用小括号将需要的计算代码括起来
运算符优先级,从左到右越来越低
()++ -- ! ~ instanceof * / % + -
<< >> >>>
< > <= >= == !=
& ^ && || ?: