配列
配列の宣言
int[] a; a = new int[5]
これにて、
a[0] a[1] a[2] a[3] a[4]
の配列要素が利用可能になる。
簡潔に書きたい場合は以下のように書く。
int[] a = new int[5];
初期値
初期値を調べるプログラムを書いてみた。
1 public class Test { 2 public static void main(String[] args) { 3 byte[] b = new byte[1]; 4 short[] s = new short[1]; 5 int[] i = new int[1]; 6 long[] l = new long[1]; 7 float[] f = new float[1]; 8 double[] d = new double[1]; 9 char[] c = new char[1]; 10 boolean[] bl = new boolean[1]; 11 String[] st = new String[1]; 12 System.out.println("byte[0] = "+b[0]); 13 System.out.println("short[0] = "+s[0]); 14 System.out.println("int[0] = "+i[0]); 15 System.out.println("long[0] = "+l[0]); 16 System.out.println("float[0] = "+f[0]); 17 System.out.println("double[0] = "+d[0]); 18 System.out.println("char[0] = "+c[0]); 19 System.out.println("boolean[0] = "+bl[0]); 20 System.out.println("String[0] = "+st[0]); 21 } 22 }
実行してみた結果。
byte[0] = 0 short[0] = 0 int[0] = 0 long[0] = 0 float[0] = 0.0 double[0] = 0.0 char[0] = boolean[0] = false String[0] = null
つまり、以下の通りです。
型 | 既定値 |
---|---|
byte | (byte)0 |
short | (short)0 |
int | 0 |
long | 0L |
float | 0.0F |
double | 0.0D |
char | 空文字 16進表記で表すと\u0000 |
boolean | false |
String(参照型) | null |
要素数の取得
配列の要素数を知りたいときは以下のようにします。
int[] a = new int[3]; System.out.println(a.length); // 3 と表示
このlengthはfinal int型です。
よって、javaの修飾子final - rderaログで学んだように以下のように値を変更すると怒られます。
a.length = 100; // エラー final 変数 length に値を代入することはできません。
初期化
初期化は以下のようにします。
int[] a = {0,1,2,3,4,5};
または、
int[] b; b = new int[]{0,1,2,3,4,5};
確認してみる。
1 public class Test { 2 public static void main(String[] args) { 3 int[] a = {0,1,2,3,4,5}; 4 for(int i=0;i<a.length;i++) { 5 System.out.println("a["+i+"] = "+a[i]); 6 } 7 8 System.out.println(); 9 10 int[] b; 11 b = new int[]{0,1,2,3,4,5}; 12 for(int i=0;i<b.length;i++) { 13 System.out.println("b["+i+"] = "+b[i]); 14 } 15 16 } 17 }
実行してみた結果。
$ java Test a[0] = 0 a[1] = 1 a[2] = 2 a[3] = 3 a[4] = 4 a[5] = 5 b[0] = 0 b[1] = 1 b[2] = 2 b[3] = 3 b[4] = 4 b[5] = 5
多次元配列
2次元配列の宣言
int[][] x = new int[2][3];
または、
int[][] x; x = new int[2][]; x[0] = new int[3]; x[1] = new int[3];
2次元配列の初期化
int[][] x = { {1,2,3}, {4,5,6}, }
3次元配列の宣言
int[][][] y = new int[2][3][4];