最近、Java で配列を宣言できることに気付きました。型または配列変数名の後に角括弧を付けます。
float[] x
float x[]
構文を除いて、これら2つの間に違いはありますか?
余談ですが、float[] x[]
少なくとも Eclipse によると、実際に 2 次元配列を初期化しているという発見に出くわしました。本当?
最近、Java で配列を宣言できることに気付きました。型または配列変数名の後に角括弧を付けます。
float[] x
float x[]
構文を除いて、これら2つの間に違いはありますか?
余談ですが、float[] x[]
少なくとも Eclipse によると、実際に 2 次元配列を初期化しているという発見に出くわしました。本当?
変わりはない。どちらも Java で有効です。前者は、Java ではより一般的です。はい、これは 2D 配列の宣言ですが、非常に奇妙です。書いてくださいfloat[][] x
。
あなたが投稿したように変数が宣言されている場合、いいえ、違いはありません:
float[] x;
float x[];
同じ行で複数の変数を宣言すると、違いがわかります。
float[] x, y;
float x[], y;
最後のケース:
x
およびy
は の配列ですfloat
。x
は の配列ですがfloat
、y
はfloat
です。推奨されるコーディング方法: コードを読みやすくするために 1 を使用します。
float val[] = new float[2];
とまったく同じ
float[] val = new float[2];
です。
Java言語仕様から
[] は、宣言の先頭の型の一部として、または特定の変数の宣言子の一部として、またはその両方として表示される場合があります。
のようなもの
float[] val[] = new float[2][3]
2 次元配列の場合は (異常ではありますが) 正しいです。
float[] x
どちらもfloat x[]
1 次元の配列参照が作成さfloat[] x
れるため、推奨される形式です。
float[] x[] は実際、2 次元の配列参照を作成します。