|
|||||||||||||||||||||||||||||||||||||||||||||||||
|
変数、配列プリミティブ・データタイプJava では変数は型を宣言してから使います。例えば年齢をあらわす整数の変数 age を使うには、次のようにします。 int age; age = 28; Java では基本的なデータ型 (これを、プリミティブデータタイプ (primitive data types) といいます) として、 次の8種類のデータ型を定義しています。
また、上表のように既定値も定義されています。 後ほど説明しますが、class からインスタンスを生成するときは new というキーワードでインスタンスを作ります。 プリミティブタイプを使うときは、new を使う必要はありません。 配列配列 (array) とは、同じデータ型のデータを複数格納するコンテナです。配列内に格納できる要素数は固定です。 例えば、「5個の整数を格納する配列」 は次のように定義できます。 int[] a; a = new int[5]; 配列内の要素には添え字 (インデックス) でアクセスできます。 要素内の1番目の要素はインデックス [0]、2番目の要素はインデックス [1]、・・・ のように、 n 番目の要素には [n-1] というインデックスでアクセスできます。 次のコード例では、5個の整数を格納できる整数の配列を用意し、 それに、1番目の要素から順に1、2、3、4、5 を格納し、 それを逆に、5、4、3、2、1 という風に順番にその要素の中身を出力します。 public class ArrayTest { public static void main(String[] args) { int[] a; a = new int[5]; a[0] = 1; a[1] = 2; a[2] = 3; a[3] = 4; a[4] = 5; System.out.println( a[4] ); System.out.println( a[3] ); System.out.println( a[2] ); System.out.println( a[1] ); System.out.println( a[0] ); } } 実行結果は次のとおりです。 5 4 3 2 1 よくある間違いは、存在しない要素にアクセスしてしまうことです。例えば、配列の要素を5個用意すると、 インデックスは0から始まりますから、使えるインデックスは 0, 1, 2, 3, 4 の5個です。 例えば、上のコード例では a という名前の配列に5個の値を代入していますが、 存在しない6個目の要素 a[5] に値を格納してしまい、次のように書いたとします。 a[5] = 6; // 間違い! このような誤ったコードを書いた場合、コンパイルはされるのですが、実行時に次のような例外が発生してしまいます。
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
at ArrayTest.main(ArrayTest.java:15)
このようなメッセージが表示された場合、配列のインデックスに誤りがありますので、プログラムをデバッグしてください。 配列の宣言と初期化を同時に行う次の書き方で、配列の宣言と初期化を同時に行うこともできます。 型 [] 変数名 = { 初期化データリスト}; この方法を使って、上のコードを書き換えると次のようになります。 public class ArrayTest { public static void main(String[] args) { int[] a = { 1, 2, 3, 4, 5 }; System.out.println( a[4] ); System.out.println( a[3] ); System.out.println( a[2] ); System.out.println( a[1] ); System.out.println( a[0] ); } } 配列に関するちょっと進んだ話題その他、少し進んだ話題については次の資料をみてください. |
|
© 2010 Java 入門 |
||||||||||||||||||||||||||||||||||||||||||||||