カテゴリ: Javaの配列 更新日: 2025/04/26

Java の配列の要素を変更する方法(値の上書き)

099
Java の配列の要素を変更する方法(値の上書き)

新人と先輩の会話形式で理解しよう

新人

「Java で配列の値を変更するにはどうすればいいですか?」

先輩

「配列は一度作成するとサイズは変えられないけど、要素の値は自由に上書きできるよ。」

新人

「どうやって値を上書きするんですか?」

先輩

「それでは、基本的な方法から見ていこう!」

1. Java の配列とは?(基本的な説明)

1. Java の配列とは?(基本的な説明)
1. Java の配列とは?(基本的な説明)

Java の配列とは、同じ種類のデータを複数まとめて管理するための仕組みです。配列を使うと、たくさんのデータを一つの変数で扱うことができます。

例えば、テストの点数を管理する場合、複数の点数を変数にまとめることができます。

配列の基本構文


public class ArrayExample {
    public static void main(String[] args) {
        // 5つの整数を格納する配列を作成
        int[] scores = {80, 90, 75, 60, 85};

        // 配列の中身を表示
        System.out.println("1つ目の点数: " + scores[0]);
    }
}

1つ目の点数: 80

2. 配列の要素を変更する基本的な方法

2. 配列の要素を変更する基本的な方法
2. 配列の要素を変更する基本的な方法

配列の要素を変更するには、要素の番号(インデックス)を指定して、新しい値を代入します。

配列の値を変更する方法


public class ModifyArray {
    public static void main(String[] args) {
        // 配列を作成
        int[] scores = {80, 90, 75, 60, 85};

        // 2つ目の要素を変更
        scores[1] = 95;

        // 変更後の配列を表示
        System.out.println("変更後の点数: " + scores[1]);
    }
}

変更後の点数: 95

このように、インデックスを指定することで配列の要素を自由に変更できます。

3. 配列の要素を変更する具体的な手順

3. 配列の要素を変更する具体的な手順
3. 配列の要素を変更する具体的な手順

配列の要素を変更するには、インデックス番号を指定 して新しい値を代入します。Java では、配列のインデックスは0 から始まるので注意してください。

配列の値を変更する手順

以下の手順で配列の値を変更できます。

  • 1. 配列を作成する
  • 2. 変更したい要素のインデックスを指定する
  • 3. 新しい値を代入する

具体的なコード例


public class ModifyArrayExample {
    public static void main(String[] args) {
        // 配列の作成
        int[] numbers = {10, 20, 30, 40, 50};

        // 配列の変更前の値を表示
        System.out.println("変更前の値: " + numbers[2]);

        // 配列の要素を変更
        numbers[2] = 99;

        // 配列の変更後の値を表示
        System.out.println("変更後の値: " + numbers[2]);
    }
}

変更前の値: 30
変更後の値: 99

このように、numbers[2] = 99; のように記述することで、配列の要素を変更できます。

Javaをこれから始める人や、 オブジェクト指向の考え方を基礎から理解したい人には、 定番の入門書がこちらです。

スッキリわかるJava入門 第4版をAmazonで見る

※ Amazon広告リンク

4. 配列の値をループで一括変更する方法

4. 配列の値をループで一括変更する方法
4. 配列の値をループで一括変更する方法

配列のすべての値を変更する場合、ループを使うと効率的です。特に for 文を使うと、配列のすべての要素を一括で変更できます。

for 文を使った一括変更の例


public class ModifyArrayLoop {
    public static void main(String[] args) {
        // 配列の作成
        int[] numbers = {1, 2, 3, 4, 5};

        // 変更前の配列を表示
        System.out.print("変更前: ");
        for (int num : numbers) {
            System.out.print(num + " ");
        }
        System.out.println();

        // すべての要素を 10 増やす
        for (int i = 0; i < numbers.length; i++) {
            numbers[i] += 10;
        }

        // 変更後の配列を表示
        System.out.print("変更後: ");
        for (int num : numbers) {
            System.out.print(num + " ");
        }
    }
}

変更前: 1 2 3 4 5
変更後: 11 12 13 14 15

このように、for 文を使うと、配列のすべての要素を一度に変更することができます。

5. 配列の値を条件で変更する方法

5. 配列の値を条件で変更する方法
5. 配列の値を条件で変更する方法

配列の値を条件に応じて変更したい場合は、if 文 を組み合わせることで特定の要素だけを変更できます。

偶数だけを変更する例


public class ModifyArrayCondition {
    public static void main(String[] args) {
        // 配列の作成
        int[] numbers = {3, 8, 12, 5, 7};

        // 変更前の配列を表示
        System.out.print("変更前: ");
        for (int num : numbers) {
            System.out.print(num + " ");
        }
        System.out.println();

        // 偶数の要素だけを2倍にする
        for (int i = 0; i < numbers.length; i++) {
            if (numbers[i] % 2 == 0) {
                numbers[i] *= 2;
            }
        }

        // 変更後の配列を表示
        System.out.print("変更後: ");
        for (int num : numbers) {
            System.out.print(num + " ");
        }
    }
}

変更前: 3 8 12 5 7
変更後: 3 16 24 5 7

このように、if (numbers[i] % 2 == 0) を使うことで、偶数だけを2倍に変更することができます。

6. 配列の要素を変更するときの注意点

6. 配列の要素を変更するときの注意点
6. 配列の要素を変更するときの注意点

配列の要素を変更する際には、いくつかの重要なポイントを理解しておく必要があります。

① 存在しないインデックスを指定しない

Java の配列は固定サイズなので、存在しないインデックスを指定するとエラーになります。


public class ArrayIndexError {
    public static void main(String[] args) {
        int[] numbers = {10, 20, 30};

        // 配列の範囲外の要素にアクセス(エラー発生)
        numbers[3] = 40; // 存在しないインデックス
    }
}

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3

配列の長さは numbers.length を使って確認し、範囲外のインデックスを使わないようにしましょう。

② 配列のサイズを変更できない

Java の配列は一度作成するとサイズを変更できません。サイズを変更したい場合は、新しい配列を作り、データをコピーする必要があります。


import java.util.Arrays;

public class ResizeArray {
    public static void main(String[] args) {
        int[] numbers = {10, 20, 30};

        // 新しい配列を作成
        numbers = Arrays.copyOf(numbers, 5);

        System.out.println("配列の長さ: " + numbers.length);
    }
}

配列の長さ: 5

このように、配列のサイズを変更したい場合は、新しい配列を作成してデータを移行する必要があります。

7. 配列の値を変更する実践的な例(ユーザー入力なしで)

7. 配列の値を変更する実践的な例(ユーザー入力なしで)
7. 配列の値を変更する実践的な例(ユーザー入力なしで)

実際に配列の値を変更する方法を、具体的な例を使って説明します。ここでは、学生のテストの点数を更新するプログラムを作成します。

例: 学生のテストの点数を更新


public class StudentScores {
    public static void main(String[] args) {
        // 学生のテスト点数
        int[] scores = {70, 85, 90, 78, 88};

        System.out.print("変更前の点数: ");
        for (int score : scores) {
            System.out.print(score + " ");
        }
        System.out.println();

        // 2番目の学生の点数を修正
        scores[1] = 95;

        // 4番目の学生の点数を修正
        scores[3] = 80;

        System.out.print("変更後の点数: ");
        for (int score : scores) {
            System.out.print(score + " ");
        }
    }
}

変更前の点数: 70 85 90 78 88
変更後の点数: 70 95 90 80 88

このように、特定のインデックスを指定して要素を変更することで、プログラムの中でデータを更新できます。

8. 練習問題:「配列の値を変更するコードを書こう」

8. 練習問題:「配列の値を変更するコードを書こう」
8. 練習問題:「配列の値を変更するコードを書こう」

以下の練習問題に挑戦して、配列の要素を変更する方法をしっかり理解しましょう。

問題: 配列の値を変更するプログラムを作成しよう

以下の仕様を満たす Java プログラムを作成してください。

  • 1. 配列 int[] prices = {120, 250, 300, 150, 500}; を作成する。
  • 2. 3 番目の値を 280 に変更する。
  • 3. 5 番目の値を 450 に変更する。
  • 4. 配列の変更前と変更後の値を表示する。

解答例


public class ModifyPrices {
    public static void main(String[] args) {
        // 商品の価格リスト
        int[] prices = {120, 250, 300, 150, 500};

        // 変更前の価格を表示
        System.out.print("変更前の価格: ");
        for (int price : prices) {
            System.out.print(price + " ");
        }
        System.out.println();

        // 3番目と5番目の値を変更
        prices[2] = 280;
        prices[4] = 450;

        // 変更後の価格を表示
        System.out.print("変更後の価格: ");
        for (int price : prices) {
            System.out.print(price + " ");
        }
    }
}

変更前の価格: 120 250 300 150 500
変更後の価格: 120 250 280 150 450

この問題を実際にコーディングして、配列の要素を変更する方法を練習しましょう。

Javaの配列の一覧へ
新着記事
FlutterのMVP・MVVMアーキテクチャの違いと使い分け
FlutterのMVP・MVVMアーキテクチャの違いと使い分けを初心者向けに解説!
オニオンアーキテクチャの基本とFlutterでの適用例
オニオンアーキテクチャの基本とFlutterでの適用例を初心者向けに解説
クリーンアーキテクチャとは?Flutterでの導入メリット
クリーンアーキテクチャとは?Flutterでの導入メリットをやさしく解説
【AWS】RDS for Oracleの特徴・できないこと・バージョン・料金まとめ
【AWS】RDS for Oracleの特徴・できないこと・バージョン・料金を初心者向けに徹底解説
人気記事
インスタンスタイプの料金比較と最適な選び方(最新2025年版)
AWSのインスタンスタイプの料金比較と最適な選び方【2025年最新版】
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説

🔌 USBポート不足を解消

Type-C 1本で拡張。
開発・作業環境を一気に快適に

UGREEN USB-Cハブを見る

※ Amazon広告リンク