1`byte 范围是-128~128
2·若从下位机传上来的一个字节为0xff 读到变量i里面
byte i ;
if(i == 0xff);
返回的是false,因为0xff在java中为int,而i在进行比较判断的时候会被转换成int型再去判断,又因为java中采用的是补码形式存数,据说有没有unsigned等声明;所以在比较判断的时候,是0xffffffff和0xff在比较,当然不等了;(当然我还没有真的tostring输出来看过,但我猜想是的)
刚刚验证了一下,猜想是对的,也就是说,下位机发上来的一个字节数据中,最高位是1的都会出现直接判断出错。