运算符
运算符用于操作变量和数值,运算符合数值组成了表达式。运算符包括
- 算术运算符:+ - * / % ++ -- 加减乘除合取余属于双目运算符,自增和自减属于单目运算,自增和自减注意:
- 操作变量,不能操作表达式,作用是使当前的变量值+1或-1.
- 前置自增(自减)运算符 ++写在变量之前,先将变量+1,然后再使用变量。自减也是如此。
- 后置自增(自减)运算符 ++写在变量之后,先使用变量,然后再将变量+1。自减也如此。
- 当自增或自减与变量单独在一行,不参与表达式与函数的一部分时,此时前置和后置没有区别。
2.关系运算符:> >= < <= == !=
3.逻辑运算符 &&与 ||或 !非
- 短路原则:a&&b 如果a判断为false,则b不再执行,整个表达式可判false,这种情况称为短路,可以利用短路特性,将耗时的判断放在b处,以此来提高运行速度。
4.位运算符 &按位与 |按位或 ^异或 >>右移 <<左移 >>>无符号右移
- &按位与 0b110&0b010 = 0b010 0b代表二进制
- |按位或 0b110|0b10 = 0b110
- ^异或 相同为0 不同为1
- <<按位左移 整个数位左移,最右边补0
- >>按位右移 整个数位右移 正数最左补0,负数最左补1
- >>>无符号右移 整个数位右移,最高位补0
- &和|没有短路特征,a&ba&b不管a的值是true还是false,都需要判断b。
5.条件运算符 三目运算符 表达式1?表达式2:表达式3
- 执行逻辑:首先判断表达式1的值,如果为true,则整个表达式的值为表达式2的值,如果为false,整个表达式的值为表达式3的值。
运算符的优先级
- 单目>双目>三目
- 算数>关系>逻辑>赋值
- 使用小括号提升运算符的优先级