黑马程序员技术交流社区

标题: 请教个Java基础问题 [打印本页]

作者: 张兵    时间: 2015-8-22 22:08
标题: 请教个Java基础问题
class  Demo {
        public static void main(String[] args) {
                byte b = 127;
                b += 1;
                System.out.println(b);
        }
}
这个程序输出的是-128,谁能具体解释一下为什么
作者: 蓬头小道士    时间: 2015-8-22 22:15
byte数值范围在-128-127之间,b+=1;超过最大范围,127再加1二进制进1后就变为-128
作者: pengbeilin    时间: 2015-8-22 22:16
byte是1个字节的基本数据类型,最多装127 ~最小装-128
你还加1的话就-128
+2=-127
+3=-126
就这样一直在-128~127之间
作者: visen    时间: 2015-8-22 22:24
计算机是按补码进行运算的,你的转成补码,再计算试试




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2