byte z [] = new byte [5]; - 这是什么意思?

时间:2015-04-14 15:51:08

标签: java

我目前正试图了解我找到的一段代码。首先,我不确定为什么代码看起来像:

byte z[] = new byte[5];

而不是:

byte[] z = new byte[5];

我的意思是,byte z[]是不是要声明一个bytes数组?或者这段代码还在做什么?

其次,为什么有人选择bytes而不是doublesints。似乎byte是-128到127之间的任何数字。在double上选择该数字有什么意义?

2 个答案:

答案 0 :(得分:3)

byte[] z相当于byte z[]只是两种不同的表示方法。

请注意,sun的Java代码约定(在成为Oracle之前)建议使用第一个的第一个。所以它更适合使用

byte[] z = new byte[5];

而不是

byte z[] = new byte[5];

关于你问题的第二部分。

byte uses 1 byte
char uses 2 bytes
int  uses 4 bytes
long uses 8 bytes

所以最好使用最小的数字类型以避免内存占用。

答案 1 :(得分:0)

对于数组声明:Java支持c风格的数组声明以及它自己通常使用的方式。 byte[] z相当于byte z[]byte占用的内存少于doubleint,并提供比大型数据类型更好的性能(尤其优于double)。