算术运算符

无非就是加减乘除。坑大概就一个
整数除法抛弃了小数部分,要小数应该把一个数字变成小数。
比如 5/2 是2,想要2.5 应该 5.0/2 或 5*1.0 / 2,再不就(double) 5 / 2
不要(double) (5/2),这样相当于把2变成double,没用。

字符串连接符

在java里 数字和字符串之间用+连接,可以把数字转成字符串。相当于对加法的重载吧。

关系运算符

大于 小于 等于 大于等于 小于等于 不等于

自增运算符

就是++和--,分为前置和后置,也就是++/--在前和在后。
在前是先自增后使用,在后是先使用后自增。
在C++里有重载运算符,实现++i速度快,涉及到更少的拷贝(记忆里是这样的)所以总说++i性能高。但这其实是对编译器的负优化,没必要做这种事。

逻辑运算符

与 或 非。逻辑运算符要求操作数是布尔表达式。
逻辑运算符有短路特性。

三目运算符

//在数组里找最小值
min = min > arr[i] ? arr[i] : min;

赋值运算符

赋值表达式本身也有值,值是所赋的值

int a = b = c;
a += 1;
b -= 2;

移位运算符

// << 左移 >> 右移(符号位填充) >>>逻辑右移(0填充)

位运算符

& | ~ ^