算术运算符
无非就是加减乘除。坑大概就一个
整数除法抛弃了小数部分,要小数应该把一个数字变成小数。
比如 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填充)
位运算符
& | ~ ^