请问如下的程序输入的结果是什么?public class test2 { public static void main(String[] args){ int i = 254; System.out.println((byte)i); }}
结果为:-2
为什么会出现这样的结果呢,举个例子说明,
假如时钟的12点改成0点,那么时间就是从0-11,可以表示12个数 现在时间是11点 再加1就是0点了,而不是12点。为什么呢,因为11+1-12=0。 同理 254实际上是这样的byte范围是-128~127 它可以表示256个数 所以254-256=-2。
转载于:https://www.cnblogs.com/ileimingGG/archive/2010/07/07/7435821.html
相关资源:JAVA上百实例源码以及开源项目