命名规范
- 包名小写
- 类名或者接口明,所有单词首字母大写。大驼峰命名法
- 方法名和方法名,第一个单词小写,后面的单词首字母大写。小驼峰命名法 简称驼峰法
- 常量,所有的字母大写,单词之间用_线连接
进制
- 二进制 0b或者0B开头 如: int n1 = 0b1010;
- 八进制 以0开头 如:int n2 = 01010;
- 十进制
- 十六进制 以0x开头 如:n3 = 0x1010
计算符号:
&(and 按位与) |(or 按位或) ^(xor 按位异或) ~(not 按位取反) >>(shr 算数右移,符号不变,高位补零,低位丢弃) <<(shl 高位丢弃,符号不变,低位补零) >>>(无符号右移,高位补零,低位丢弃)
进制的计算:
计算 :按位取反-2
~-2 => not 0x8000 0002
10000000 00000000 00000000 00000010 -2的原码
反码
11111111 11111111 11111111 11111101
补码 = 反码 +1
11111111 11111111 11111111 11111110
取反
00000000 00000000 00000000 00000001
结果:
1
计算 :按位取反2
~2 => not 0x0000 0002
先算出补码,因为正数,原码 反码 补码 都一样
所以补码为:
00000000 00000000 00000000 00000010
计算按位取反的值
11111111 11111111 11111111 11111101
此时得到是一个负数(最高位是1)的补码,应该还原成原码
先得到此负数反码
反码 = 补码 - 1
11111111 11111111 11111111 11111100
原码 = 反码取反(除去符号位的其他位取反)
10000000 00000000 00000000 00000011
结果:
-3