运算符
自增与自减运算符
- 由于自增与自减运算符会改变变量的值,所以它们的操作数不能是数值。例如,4++就不是一个合法的语句。
- 建议不要在表达式中使用++,因为这样的代码很容易让人困惑,而且会带来烦人的bug。
- &&和||运算符是按照“短路”方式来求值的:如果第一个操作数已经能够确定表达式的值,第二个操作数就不必计算了。
位运算符
-
处理整型类型时,可以直接对组成整型数值的各个位完成操作。这意味着可以使用掩码技术得到整数中的各个位。
-
利用&结合使用适当的2的幂,可以把其他位掩掉,而只保留其中的某一位。
注释:应用在布尔值上时,&和|运算符也会得到一个布尔值。这些运算符与&&和||运算符很类似,不过&和|运算符不采用“短路”方式来求值,也就是说,得到计算结果之前两个操作数都需要计算。
- >>>运算符会用0填充高位,这与>>不同,它会用符号位填充高位。不存在<<<运算符。
警告:移位运算符的右操作数要完成模32的运算(除非左操作数是long类型,在这种情况下需要对右操作数模64)。例如,1<<35的值等同于1<<3。
-
左移操作相当于乘2,右移操作相当于除2。
-
异或运算:相同为0,不同为1。