我目前正试图了解我找到的一段代码。首先,我不确定为什么代码看起来像:
byte z[] = new byte[5];
而不是:
byte[] z = new byte[5];
我的意思是,byte z[]
是不是要声明一个bytes
数组?或者这段代码还在做什么?
其次,为什么有人选择bytes
而不是doubles
或ints
。似乎byte
是-128到127之间的任何数字。在double
上选择该数字有什么意义?
答案 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
占用的内存少于double
和int
,并提供比大型数据类型更好的性能(尤其优于double
)。