黑马程序员技术交流社区

标题: 数据类型 [打印本页]

作者: 静水★流深    时间: 2015-6-8 23:19
标题: 数据类型
为什么,byte b=130;输出b的结果为-126。。。

作者: zhao_HHH    时间: 2015-6-8 23:24
byte范围为-128到127,130超出了它的量程,你把130赋值给byte类型的b,内存会以为这是个负数,然后根据负数的算法就得到-126了
作者: 静水★流深    时间: 2015-6-8 23:28
lidiwo 发表于 2015-6-8 23:22
byte 范围在-128~127之间,直接赋值130编译应该不通过啊

不好意,写漏了,byte b=(byte)130。。。
作者: 找寻小龙猫    时间: 2015-6-8 23:31
130 超出了  byte 的范围, 所以,  虚拟机会循环 输出,  所以到 127  时,会 从byte 最开始的 -128 开始继续,  也就是 -126,
作者: cyd1058    时间: 2015-6-9 22:31
byte范围为-128到127,130超出了它的量程




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