配列の要素への値の代入
配列の各要素に値を代入する方法について説明します。
配列の各要素に値を代入する方法 目次
1.各要素に値を代入する
配列の各要素に値を代入するには、通常の変数と同じように書きます。
配列変数名[インデックス] = 代入したい値
package pac01; public class HelloWorld { public static void main(String[] args) { // 要素数3のint型の配列 int[] intArray = {3, 2, 8}; // インデックス0の値を出力 System.out.println(intArray[0]); // インデックス0の要素に10を代入 intArray[0] = 10; // インデックス0の値を出力 System.out.println(intArray[0]); } } ------------------------------------------------------ 3 10
インデックス0の要素に10が代入されていることが分かります。
2.必ずインデックスを指定する
配列の要素に値を代入する際は、必ずインデックスを指定する必要があります。なぜなら配列変数は実体の場所を指す参照でしか無いので、配列変数に値を代入しようとしてもエラーになるからです。
package pac01; public class HelloWorld { public static void main(String[] args) { // 要素数3のint型の配列 int[] intArray = {3, 2, 8}; // インデックス0の値を出力 System.out.println(intArray[0]); // インデックス0の要素に10を代入 intArray = 10; // インデックス0の値を出力 System.out.println(intArray[0]); } } --------------------------------------------------------- Exception in thread "main" java.lang.Error: Unresolved compilation problem: 型の不一致: int から int[] には変換できません at pac01.HelloWorld.main(HelloWorld.java:13)
値を代入する時には、一回一回インデックスを指定しないといけない為、要素の数だけ代入式を記述する必要があります。ただ、決まり切った値をセットする場合や全部初期化(数値なら0、文字列ならブランクなど)する場合などは、ループを使えば効率良く代入することができます。
3.ループを使用した値の代入
配列の各要素へのアクセスはインデックスで行いますが、インデックスは0から始まる整数です。for文のカウンタ変数も(自分で指定すれば)0から始まり、1つずつ増えていく整数ですので、ループ処理で効率良くアクセスが可能です。
package pac01; public class HelloWorld { public static void main(String[] args) { // 要素数3のint型の配列 int[] intArray = {3, 2, 8}; for(int i=0; i < 3; i++){ // 各要素に0を代入する intArray[i] = 0; } // 配列の中身を全て表示 for(int i=0; i < 3; i++){ // 各要素の値を順番に表示する System.out.println(intArray[i]); } } } ----------------------------------------------------- 0 0 0
最近のコメント