2 huanxuan163 huanxuan163 于 2016.09.06 11:44 提问

请问字节数组跟整形数组有什么区别?

byte[] a={'w',1,1,1};
for(byte b:a){
System.out.println(b);
}
这样子输出的都是整数
那么这个字节数组跟整形数组又有什么区别呢

5个回答

hijack00
hijack00   Rxr 2016.09.06 11:51
已采纳

在内部存储上有区别,byte数组每个元素只有一个字节,而整型数组每个元素哟4个字节(由于涉及多字节,还可能存在字节序问题)。此外,byte类型和整型表示的整数范围是不一样的。

u010575396
u010575396   2016.09.06 11:52

byte数组里面的数字最大127也就是 1111 1111 8位二进制 而int占了4个byte的空间
所以最大能表示 1111 1111 1111 1111 1111 1111 1111 1111的二进制数。请给我好评

of214
of214   2016.09.06 12:47

一个byte是一个字节,一般的整形int是4个自己,占用内存不同,存储的数据长度不同,可以看下这篇文章http://58coding.com/article/detail/24633146704146387

kingLeeST
kingLeeST   2016.09.06 20:29

byte类型大小只有一个字节,而int类型是4个字节的,显然当你表示的数大于byte的最大值的时候就会出问题了

apple_5
apple_5   2016.10.17 16:43

虽然输出的是整数,那是因为在byte的范围-127-128之间(因为byte占一个字节,8位),
当单个大于128时,使用字节数据就会报错了(而使用int不会报错,因为占4个字节,32位)。

Csdn user default icon
上传中...
上传图片
插入图片