配列の要素への値の代入

配列の各要素に値を代入する方法について説明します。

配列の各要素に値を代入する方法 目次

  1. 各要素に値を代入する
  2. 必ずインデックスを指定する
  3. ループを使用した値の代入

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

各要素への値の代入をループ処理で行う

コメントを残す

サブコンテンツ

このページの先頭へ