i--和--i
public class IntTest {
public static void main(String[] args) {
int i=5;
System.out.println(i--);
System.out.println(i);
System.out.println(--i);
}
}
//运行结果为
5
4
3
本人的理解是后“--”是储存在内存中的 ,并没有执行。而到了--i时 这里的i已经是4了 在执行-- 得到结果是3. 因此当遇到这种情况时要注意。
还有些不常用的
& | 如果相对应位都是1,则结果为1,否则为0 | (A&B),得到12,即0000 1100 |
| | 如果相对应位都是 0,则结果为 0,否则为 1 | (A | B)得到61,即 0011 1101 |
^ | 如果相对应位值相同,则结果为0,否则为1 | (A ^ B)得到49,即 0011 0001 |
〜 | 按位取反运算符翻转操作数的每一位,即0变成1,1变成0。 | (〜A)得到-61,即1100 0011 |
<< | 按位左移运算符。左操作数按位左移右操作数指定的位数。 | A << 2得到240,即 1111 0000 |
>> | 按位右移运算符。左操作数按位右移右操作数指定的位数。 | A >> 2得到15即 1111 |
>>> | 按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。 | A>>>2得到15即0000 1111 |