1,跳出多层循环,break n和continue n。其中n表示标签名。只是在Java中只能在for、while、do...while三种循环语句前面定义.
a: for(int i=0;i<10;i++){
System.out.println("i="+i);
for(int j=0;j<10;j++){
if(i==2)
continue a; //跳出两层循环
System.out.println("j="+j);
}
}
2,private static final Set<String> VALID_CODES = new HashSet<String>() {{
add("XZ13s");
add("AB21/X");
add("YYLEX");
add("AR2D");
}}; //set初始化
3.>> 和>>>
无符号右移运算符由三个大于号(>>>)表示,它将无符号 32 位数的所有数位整体右移。
有符号右移运算符由两个大于号表示(>>)。它把 32 位数字中的所有数位整体右移,同时保留该数的符号(正号或负号)。
“负数” 表示方式 in Java
负数求解方法:
求-7二进制
1.先将-7绝对值转换成二进制,得00000111
2.然后求该二进制数的反码,得11111000
3.最后为第二步得到的二进制数+1,结果为11111001
位运算求解方法:
求 ~7 的十进制结果
1.先将7绝对值转换成二进制,得00000111
2.然后求该二进制数的反码,得11111000,此时为~7的二进制表达式,然后就通过该二进制得该数的十进制
3.由于该二进制最高位为1,所以该数为负数,由于负数的求解方式是求反后+1,所以通过反过来的方法求该数的10进制。该数-1得11110111
4.该二进制数求反00001000,得结果为8.
求-7二进制
1.先将-7绝对值转换成二进制,得00000111
2.然后求该二进制数的反码,得11111000
3.最后为第二步得到的二进制数+1,结果为11111001
位运算求解方法:
求 ~7 的十进制结果
1.先将7绝对值转换成二进制,得00000111
2.然后求该二进制数的反码,得11111000,此时为~7的二进制表达式,然后就通过该二进制得该数的十进制
3.由于该二进制最高位为1,所以该数为负数,由于负数的求解方式是求反后+1,所以通过反过来的方法求该数的10进制。该数-1得11110111
4.该二进制数求反00001000,得结果为8.
eg:
length[2-i]&0x7F
当length[2-i]=-116时
length[2-i]&0x7F运算结果为14