求教一道JAVA题

下面是程序中的一部分:inta=97byteb1=(byte)129;byteb2=(byte-130;system.out.printf("%c,%d,%d",a,b1... 下面是程序中的一部分:

int a=97
byte b1=(byte)129;
byte b2=(byte-130;
system.out.printf("%c,%d,%d",a,b1,b2);

输出结果是什么???

为什么???
int a=97
byte b1=(byte)129;
byte b2=(byte)-130;
system.out.printf("%c,%d,%d",a,b1,b2);

少了个括号
展开
 我来答
断了的弦777
2009-09-16 · TA获得超过423个赞
知道小有建树答主
回答量:263
采纳率:0%
帮助的人:252万
展开全部
结果是:
a,-127,126

这里的printf接收了四个参数
第一个参数表示输出格式
%c表示单个字符,也就是97对应的字母a
%d表示十进制整数
int 32位
byte 8位 范围-128~127
转换后就会溢出。
所以由int转向byte ,多出来的位就会被截掉。
当超出byte范围时,计算机则采用补码方式读取数据,去看看什么是补码,这里我不过多介绍
(byte)129 = -127
(byte)-130 = 126
loveweizaiwan
2009-09-15 · TA获得超过425个赞
知道小有建树答主
回答量:460
采纳率:0%
帮助的人:271万
展开全部
a,-127,126
应该byte的最大范围-255 -- 254
a的ASSIC就为97 ,所以结果就成那样....
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ygd2668
2009-09-15
知道答主
回答量:30
采纳率:0%
帮助的人:0
展开全部
a,-127,126
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiaoe013400
2009-09-15 · TA获得超过111个赞
知道小有建树答主
回答量:188
采纳率:0%
帮助的人:0
展开全部
是什么减130?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式