运算符
- 算术运算符
- 加法(+)
- 减法(-)
- 乘法(*)
- 除法(/)
- 取余(%)
- 一元运算符
- 自增运算符(++)
- 自减运算符(--)
- 变量前就先运算,变量后先输出
- 关系运算符
- 判断两个操作数是否相等(==)
- 判断两个操作数是否不等(!=)
- 判断左侧操作数是否大于右侧操作数(>)
- 判断左侧操作数是否小于右侧操作数(<)
- 判断左侧操作数是否大于等于右侧操作数(>=)
- 判断左侧操作数是否小于等于右侧操作数(<=)
- 位运算符
-
- 位运算符操作的不是整型数值(int、long、short、char、byte)本身,而是整型数值对应的二进制。
- 如果对应位都是 1,则结果为 1,否则为 0。(&)
- 如果对应位都是 0,则结果为 0,否则为 1。(|)
- 如果对应位值相同,则结果为 0,否则为 1。(^)
- 按取位反,即 0 变 1,1 变 0(~)
- 按位左移,左操作数按位左移右操作数按指定的位数。(<<)
- 左移几位就乘于进制数几次
- 如:2 的二进制是 010
- 左移二位:2 * 2 * 2 = 8
- 8的二进制是 01000
- 按位右移,左操作数按位右移右操作数按指定的位数。(>>)
- 右移几位就除于进制数据几次
- 按位右移补零,左操作数的值按右操作数指定的位数右移,移动得到的定位以 0 补充。
- 逻辑运算符
- 逻辑与运算符(&&):多个条件中只要有一个为 false 结果就为 false。(类似and)
- 逻辑或运算符(||):多个条件只要有一个为 true 结果就为 true。(类似or)
- 逻辑非运算符(!):用来反转条件的结果,如果条件为 true,则逻辑非运算符将得到 false。
- 单逻辑与运算符(&):很少用,因为不管第一个条件为 true 还是 false,依然会检查第二个。
- 单逻辑或运算符(|):也会检查第二个条件。
- 注:& 和 | 性能不如 && 和 ||,但用法一样
- 赋值运算符
- 操作符右侧的值赋值给左侧的变量
- 类型转换问题,类型边界问题,尽量使用相应的类型进行赋值。
- 三元运算符
- 用于替代 if-else,可以使用一行代码完成条件判断的要求
- int min=(a<b)?a:b;
- 如果 ? 前面的条件为 true,则结果为 : 前的值,否则为 : 后的值。