java学习(一)
一、
首先是这个简单的代码,按照正常的编写,我们是希望得到a+1的结果,也就是2,但我们可以看出中间出现了报错,测试也是无法运行的。
这是应为a和代码中的“1”的数据类型是不相同的,Java整型默认为int类型, a 的数据类型是byte,1的数据类型是int因此出现了错误。
Java语言提供了八种基本类型,分别为byte、short、int、long、float、double、char、String、boolean。其中byte、short、int、long为四种整数类型,它们的储存空间和范围都是不同的。
类型名称 | 储存空间/B | 范围(包含) |
---|---|---|
byte | 1 | -128~127 |
short | 2 | -32768~32767 |
int | 4 | -2147483648~2147483647 |
long | 8 | -9223372036854775808~9223372036854775807 |
因为 byte 类型是1byte也就是 8 位,最大值为127,所以当 int 强制转换为 byte 类型时,值 128 时候就会导致溢出。