カテゴリ: Java 更新日: 2026/01/26

Javaの定数とは?finalを使って変更できない変数を作る

Java の定数とは?final を使って変更できない変数を作る
Java の定数とは?final を使って変更できない変数を作る

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

新人

「先輩、Javaで値を変更できない変数って作れるんですか?」

先輩

「できるよ。そういう変数のことを“定数”って言って、finalというキーワードを使うんだ。」

新人

「変数なのに値が変わらないって、どんなときに使うんですか?」

先輩

「よし、それじゃあ定数の使い方とメリットを詳しく見てみよう!」

1. Javaの定数とは何か?

1. Javaの定数とは何か?
1. Javaの定数とは何か?

Javaの「定数」とは、一度値を入れたら、そのあと変更できない変数のことです。プログラムの中で何度も変わらない値を使いたいときに、定数を使います。

たとえば、「消費税率」や「1年間の日数」などは、途中で変わることがありませんよね。そういった値は定数として宣言すると、あとから間違って書き換えてしまうのを防げます。

Javaでは、定数を作るときにfinalというキーワードを使います。定数は「変更できない変数」として扱われます。

2. finalを使うと何ができるか

2. finalを使うと何ができるか
2. finalを使うと何ができるか

finalを使った変数は、一度代入したら変更できないという特徴があります。通常の変数は後から別の値を入れることができますが、finalを付けるとそれができなくなります。


final int DAYS_IN_WEEK = 7;

このように書くと、「DAYS_IN_WEEK」という変数には7という値が固定されることになり、プログラムの中でこの値はずっと変わりません。

間違ってこの変数に別の値を入れようとすると、コンパイルエラーになります。

3. 定数を使うとどんなメリットがあるのか

3. 定数を使うとどんなメリットがあるのか
3. 定数を使うとどんなメリットがあるのか

Javaで定数を使うと、次のようなメリットがあります。

  • 値を固定できるので、プログラムの信頼性が上がる
  • 意味のある名前をつけることで、コードが読みやすくなる
  • 途中で書き換えてしまうミスを防げる

たとえば、税込価格を計算するときに「0.1」という値を毎回書くよりも、定数として用意しておくと意味がはっきりします。


final double TAX_RATE = 0.1;
double price = 1000;
double tax = price * TAX_RATE;

このように書けば、「TAX_RATE」は消費税率として使われていることがすぐにわかります。初心者にとっても、意味が見えるコードは理解しやすくなります。

また、複数の場所で同じ値を使うときにも定数が便利です。値を変えたいときは定数の場所だけ変更すれば済むので、メンテナンスもしやすくなります。

4. finalを使った定数の書き方をコード例で確認

4. finalを使った定数の書き方をコード例で確認
4. finalを使った定数の書き方をコード例で確認

ここでは、Javaでfinalを使って定数を作成する方法を、初心者向けにコード例を使ってやさしく解説します。

定数を作るには、変数の宣言の前にfinalをつけるだけです。以下はその基本的な書き方です。


public class ConstantExample {
    public static void main(String[] args) {
        final int MAX_USERS = 100;
        System.out.println("最大ユーザー数:" + MAX_USERS);
    }
}

最大ユーザー数:100

finalをつけることで、このMAX_USERSという変数には後から別の値を代入できなくなります。これがJavaの定数の基本的な書き方です。

また、定数名はすべて大文字で書き、単語の区切りはアンダースコア(_)を使うのが一般的です。これは定数であることを明確にするための命名ルールとしてよく使われます。

5. finalをつけた変数に再代入しようとするとどうなる?(エラーの例)

5. finalをつけた変数に再代入しようとするとどうなる?(エラーの例)
5. finalをつけた変数に再代入しようとするとどうなる?(エラーの例)

finalをつけたJavaの変数に、あとから別の値を入れようとするとエラーが発生します。

次のコード例を見てみましょう。


public class FinalErrorExample {
    public static void main(String[] args) {
        final int SPEED_LIMIT = 60;
        SPEED_LIMIT = 80; // エラーになる
        System.out.println("制限速度:" + SPEED_LIMIT);
    }
}

このコードをEclipseで実行しようとすると、次のようなエラーが表示されます。


エラー: final変数SPEED_LIMITには既に値が設定されています

一度代入したら、もう変更できないというのがfinalのルールです。値を間違って上書きしてしまうことを防ぐために、Javaではこのようなエラーを出して教えてくれます。

6. Eclipse(Pleiades)で定数の値を確認する方法

6. Eclipse(Pleiades)で定数の値を確認する方法
6. Eclipse(Pleiades)で定数の値を確認する方法

Javaで作成したfinal定数が正しく動作しているかどうかは、Eclipse(Pleiades)で簡単に確認することができます。

以下の手順で定数の値を表示してみましょう。

  1. Eclipseを起動し、新しい「Javaプロジェクト」を作成します。
  2. その中に新しい「クラス」を作成します。
  3. 次のコードを入力します。

public class FinalCheck {
    public static void main(String[] args) {
        final String COMPANY_NAME = "Tech Corp";
        System.out.println("会社名:" + COMPANY_NAME);
    }
}
  1. メニューから「実行」→「Javaアプリケーション」を選び、プログラムを実行します。

会社名:Tech Corp

このように、EclipseでSystem.out.println()を使えば、定数の値をコンソール画面に出力して確認できます。

プログラムが正しく動いているかを初心者がチェックするには、実際に値を出力して確かめることが一番わかりやすい方法です。

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Javaの定数とは何ですか?変数とどう違うのですか?

Javaの定数とは、一度値を代入するとその後変更できない変数のことです。通常の変数は値を後から変更できますが、定数はfinalキーワードを使って宣言することで、固定された値を保持します。
コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

カテゴリの一覧へ
新着記事
SQLのデータ型を完全ガイド!初心者でもわかるデータ型の種類と使い方
SQLのビュー(VIEW)を完全ガイド!初心者でもわかる仮想テーブルの使い方
SQLの演算子を完全ガイド!初心者でもわかるデータの比較と検索方法
SQLのJOINを完全ガイド!初心者でもわかるテーブルの結合方法
人気記事
No.1
Java&Spring記事人気No1
SQLのビュー(VIEW)を完全ガイド!初心者でもわかる仮想テーブルの使い方
No.2
Java&Spring記事人気No2
SQLのロック(LOCK)を完全ガイド!初心者でもわかるデータの整合性の守り方
No.3
Java&Spring記事人気No3
Javaとは?初心者向けにやさしく解説
No.4
Java&Spring記事人気No4
HTMLのセレクトボックス(プルダウン)の使い方を完全ガイド!selectとoptionの基本を覚えよう