黑马程序员技术交流社区

标题: java 数据类型问题,求大神解答,谢谢 [打印本页]

作者: fdhm    时间: 2015-9-10 23:44
标题: java 数据类型问题,求大神解答,谢谢
byte b=100+30; //为什么编译报错
byte a=1+2; //编译无错
byte e=130; //编译报错

int c=1000000000+2000000000; //编译无错
int d=3000000000; //编译报错

作者: 牛小爽    时间: 2015-9-11 08:59
byte的取值范围是-128~127
作者: ln0491    时间: 2015-9-11 09:09
越出了类型的最大值范围
作者: pegasus    时间: 2015-9-11 09:25
java基本数据类型范围

6597649209285754117.jpg (73.38 KB, 下载次数: 2)

6597649209285754117.jpg

作者: 疯疯疯疯疯子    时间: 2015-9-11 10:40
楼上说的对
作者: 水果牛牛    时间: 2015-9-11 10:51
给楼上的楼上的图赞一个
作者: 小二儿    时间: 2015-9-11 12:04
还是建议你把数据类型 所占的范围,好好看一下,会有帮助的,加油
作者: hhuxiaolang    时间: 2015-9-11 12:26
第一个 byte的数据范围是-128到127  所以赋值130时候报错,系统认为是int型的
第二个两个数相加都在int范围内,所以结果也是int型,不会报错,二3000000000则在数据范围之外,超出了int型范围
作者: MilesMatheson    时间: 2015-9-11 14:43
显然,没有注意不同类型的取值范围
作者: byr216    时间: 2015-9-11 15:30
这类错误首先想到范围问题




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