我最近注意到,我可以通过将方括号放在类型之后或数组变量名之后来在 java 中声明一个数组。
float[] x
float x[]
除了语法之外,这两者之间有什么区别吗?
顺便说一句,我偶然发现了一个float[] x[]
实际上正在初始化二维数组的发现——至少根据 Eclipse 是这样。真的吗?
我最近注意到,我可以通过将方括号放在类型之后或数组变量名之后来在 java 中声明一个数组。
float[] x
float x[]
除了语法之外,这两者之间有什么区别吗?
顺便说一句,我偶然发现了一个float[] x[]
实际上正在初始化二维数组的发现——至少根据 Eclipse 是这样。真的吗?
没有不同。两者在 Java 中都有效。前者对于 Java 来说更为传统。是的,这是一个二维数组声明,虽然非常奇怪。请写float[][] x
。
如果变量像您发布的那样声明,那么不,没有区别:
float[] x;
float x[];
如果您在同一行中声明多个变量,您会发现不同之处:
float[] x, y;
float x[], y;
在最后一种情况下:
x
并且y
是float
s 的数组。x
是float
s 的数组,而y
是float
.推荐的编码方式:使用 1 以便于代码可读性。
float val[] = new float[2];
完全一样
float[] val = new float[2];
。
[] 可以作为类型的一部分出现在声明的开头,或者作为特定变量的声明符的一部分,或者两者兼而有之
所以像
float[] val[] = new float[2][3]
对于二维数组是正确的(尽管不寻常) 。
不,这两种语法之间没有区别。您通常会在声明中看到变量上的括号,并且在匿名使用类型时使用类型上的括号。
鉴于 'float[]' 是有效的类型规范,并且 x[] 声明了该类型的数组,您会发现这并不奇怪。
float[] x
并且float x[]
都将导致创建一维数组引用,float[] x
是首选形式。
float[] x[] 实际上会创建一个二维数组引用。