运算符是一种特殊的符号,用以表示数据的运算赋值和比较等。
+ 正号
- 负号
+ 加
- 减
* 乘
/ 除
% 取模(取余数),结果的符号与被模的符号相同
++ 自增前:先运算后取值
++ 自增后:先取值后运算
- -自减前:先运算后取值
- -自减后:先取值后运算
+ 字符串连接
符号:=,支持连续赋值
扩展赋值运算符:+=,-=,*=,/=,%=
= = 相等于。注意:不能误写成=
!= 不等于
< 小于
> 大于
<= 小于等于
>= 大于等于
instanceof 检查是否是类的对象
比较运算符的结果都是布尔类型
& 逻辑与
| 逻辑或
! 逻辑非
&& 短路与
|| 短路或
^ 逻辑异或:相同的时候是false,不一样就是true
逻辑运算符只适用于布尔类型
位运算是直接对整数的二进制进行的运算
<< 左移:在一定范围内,每向左移一位,相当于*2.空位补0,高位丢弃
>> 右移:在一定范围内,每向右移一位,相当于/2。最高位是0就补0,否则补1
>>> 无符号右移.最高位无论0或1,空缺补0
& 与运算
| 或运算
^ 异或运算
~ 取反运算.二进制各位均取反
面试题:最高效方式的计算2*8?
答:2《3或8《1。(请先了解数字的存储原理)
格式:(条件表达式)?表达式1:表达式2
条件为true,结果用表达式1。否则,为表达式2.
凡是三元运算符都以改写为if else。反之,不成立。
如果三元运算符可以处理,优先使用三元,因为三元运算符比if else 简洁并且运行效率高。
合理运用小括号明确优先级,避免错误。
只有单目运算符(! ~ ++ -- +(一元运算) -(一元运算))、三元运算符、赋值运算符是从右向左运算的,其他运算符均为从左向右运算。
原文:https://www.cnblogs.com/dorsher/p/14767028.html