1. ruteshi_SI_shiteru

    Posted

    ruteshi_SI_shiteru
Changes in title
+[Java]全要素の初期値が0の多次元配列を動的に生成してみる
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,49 @@
+#前提の確認
+Javaでプリミティブ型の配列を宣言する際に、初期値をセットしなければ、自動的に全要素の初期値が0になることは衆知の事実です。今まで毎回0代入をループ回していた自分はかなりの~~うましか~~慎重派でしたね。
+
+##実演してみる
+今回はそれに加えて要素数をint型の変数で設定していくサンプルをお見せします。
+
+```java:コード例
+
+public class Test {
+
+ public static void main(String[] args) {
+ // TODO 自動生成されたメソッド・スタブ
+
+ int x = 20;
+ int y = 6;
+
+ int[][] n = new int[y][x];
+
+ //配列を表示する
+ for (int[] s : n) {
+
+ //一行ずつカンマ区切りの文字列を生成していく
+ StringBuilder sb = new StringBuilder();
+ for (int i : s) {
+ sb.append(i + ", ");
+ }
+ System.out.println(sb);
+ }
+ }
+
+}
+```
+
+##結果
+```
+0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+```
+
+##解説
+まず、最初の二行で要素数を設定します。今回は$x=20\ , y=6$としました。
+次に、`int[][] n = new int[y][x];`として二次元配列nを宣言しておりますが、
+ここで注意していただきたいのは、要素数を行→列(この例で言うならばy→x)と並べないと直感的な結果にはなりにくいということです。
+
+詳しくは割愛しますが、もし`int[x][y]`としてしまうと、この例であれば表示の際に縦に20、横に6個の0が表示されてしまいます。