等于 (`==`): 比较两个表达式的值是否相等,如 `if (a == b) {...}`。 不等于 (`!=`): 检查两个表达式的值是否不相等,如 `if (a != b) {...}`。 大于 (`>`): 判断左边的值是否大于右边的值,如 `if (a > b) {...}`。 小于 (`<`): 判断左边的值是否小于右边的值,如 `if (a < b) {...}`。 大于等于 (`>=`): 判断左边的值是否大于等于右边的值,如 `if (a >= b) {...}`。 小于等于 (`<=`): 判断左边的值是否小于等于右边的值,如 `if (a <= b) {...}`。
3. 逻辑运算符
逻辑与 (`&&`): 当两边的操作数都为真时,结果为真,如 `if (a && b) {...}`。 逻辑或 (`||`): 当两边的操作数至少有一个为真时,结果为真,如 `if (a || b) {...}`。 逻辑非 (`!`): 对操作数的逻辑值取反,如 `if (!a) {...}` 表示a为假时执行。
4. 位运算符
按位与 (`&`): 对应位都是1时结果位才为1,常用于掩码操作,如 `int mask = a & b;`。 按位或 (`|`): 对应位至少有一个是1时结果位为1,常用于设置标志位,如 `Permissions p = READ | WRITE;`。 按位异或 (`^`): 对应位不同则结果位为1,相同则为0,可用于无临时变量交换两个数的值,如 `a ^= b; b ^= a; a ^= b;`。 按位取反 (`~`): 对每个位进行取反操作,常用于求补操作,注意负数的符号位扩展。 左移 (`<<`): 将二进制形式向左移动指定位数,右边补0,快速乘以2的n次方,如 `int doubled = a << 1;`。 右移 (`>>`): 将二进制形式向右移动指定位数,正数左边补0,负数根据符号位扩展,快速除以2的n次方或求商的整数部分,如 `int halved = a >> 1;`。