配列の要素への値の代入
配列の各要素に値を代入する方法について説明します。
配列の各要素に値を代入する方法 目次
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




最近のコメント