A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张兵 中级黑马   /  2015-8-22 22:08  /  341 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class  Demo {
        public static void main(String[] args) {
                byte b = 127;
                b += 1;
                System.out.println(b);
        }
}
这个程序输出的是-128,谁能具体解释一下为什么

3 个回复

倒序浏览
byte数值范围在-128-127之间,b+=1;超过最大范围,127再加1二进制进1后就变为-128
回复 使用道具 举报
byte是1个字节的基本数据类型,最多装127 ~最小装-128
你还加1的话就-128
+2=-127
+3=-126
就这样一直在-128~127之间
回复 使用道具 举报
计算机是按补码进行运算的,你的转成补码,再计算试试
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马