public static void main(String[] args) throws Exception {
byte b = (byte)0xfffb; // 0xfffb为65531
byte b1 = (byte)-0xfffb; // -0xfffb为-65531
System.out.println(b);
System.out.println(b1);
}
输出:
-5
5
可以看到这里讲正的int值转化为负的byte值,和负的int值转化为正的byte值。
总结:其实这里仅仅只会截取int值的后八位值,跟int值是正负是不影响的。
然后根据这个截取的八位值,来判断byte的正负。