关于byte的问题

bihuaiyu0288 2017-10-18 06:51:43
byte b1 = 126 + 1;
byte b7 = ++b1;
System.out.println(b7);

为什么b7的值是负128呢??
...全文
233 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wjp_seu 2017-10-19
  • 打赏
  • 举报
回复
二楼三楼说的都对,好好看看基础吧
枫醉秋 2017-10-19
  • 打赏
  • 举报
回复
好好看看基础吧
qq_39912309 2017-10-19
  • 打赏
  • 举报
回复
你可以这样理解,byte的取值范围为-128~127,将他们赋值为时钟的样式,从-128开始为0点位置,然后每+1,就转一格,到127的时候如果再+1,就又回到0点位置的-128了
6点A君 2017-10-19
  • 打赏
  • 举报
回复
因为java里面的byte是用补码表示的,补码这个东西几句话不好说,具体你可以理解为一个“圈”,例如byte范围是-128~127, 所以当你把127+1时,他就到-128了,反之,把-128-1时就到了127了,
自由自在_Yu 2017-10-19
  • 打赏
  • 举报
回复
byte范围是-128~127,超过127继续从-128开始 127+1 = -128
李德胜1995 2017-10-18
  • 打赏
  • 举报
回复

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧