int a=200;byte b=(byte)a;为什么最终结果是负56,
在Java中,byte类型是一个有符号的8位整数,这意味着它可以存储从-128到127的值。你把值200分配给byte变量b时,该值太大而无法放入byte中,因此它会被“包装”到能够放入byte的最近值。
这也就是整数溢出问题。在这种情况下,200太大而无法放入byte中,因此它包装到最小值,即-128。接下来的最大值是-127,然后是-126,依此类推,直到到达最终被设置为的值-56。