• ベストアンサー

配列の変換について

こんにちは、お世話になります。 次のコードで、どうしてint[] i = {1,2,3};が int[] i = new int[3]; int[0] = 1; int[1] = 2; int[2] = 3; のようになるのか分かりません。お分かりの方よろしくお願いします。 class arr{ public static void main(String[] args){ String[] name = new String[3]; name[0] = "1番目"; name[1] = "2番目"; name[2] = "3番目";      System.out.println("nameの0:" + name[0]); System.out.println("nameの1:" + name[1]); System.out.println("nameの2:" + name[2]); int[] i = {1,2,3}; System.out.println("iの0:" + i[0]); System.out.println("iの1:" + i[1]); System.out.println("iの2:" + i[2]); char c[] = new char[1]; c[0] = 'A'; System.out.println("cの0:" + c[0]); } }

質問者が選んだベストアンサー

  • ベストアンサー
noname#22222
noname#22222
回答No.2

次は、小生のHPからの抜粋です。 var n = new Array(3); は n が3個の配列であることを宣言しています。 JavaScript では、配列を使うためには Arrayオブジェクトと new 演算子を用いて配列宣言をします。 JavaScript も C 同様に、配列の添字は常に 0 から始まるために、その要素は n[0]、n[1]、n[2] になります。 配列は宣言時に初期化データを指定することがでるので、この宣言は、また、次のように書くことができます。 var n = new Array(0, 0, 0); ところで、 n[0]=n[1]=n[2]=0; という行は、三つの配列要素のすべてに 0 をセットします。 「これは、特殊な場合ではなく、代入文には値があり、右から左に代入が行われる結果である。 これは、実際、次のように書くのと同じである。」(「プログラミング言語C」26頁) n[0]=(n[1]=(n[2]=0)); とまあ、一種の約束事です。

その他の回答 (1)

  • Hardking
  • ベストアンサー率45% (73/160)
回答No.1

Javaの配列変数の作成コーディングとして下記の3通りあります。(処理結果は同じ) (1). //『宣言』 int[] i; //『生成』 i = new int[3]; //『代入』 i[0] = 1; i[1] = 2; i[2] = 3; (2). //『宣言』と『生成』 int[] i = new int[3]; //『代入』 i[0] = 1; i[1] = 2; i[2] = 3; (3). //『宣言』と『生成』と『代入』 int[] i = {1,2,3};

関連するQ&A