Javaの定数とは?finalを使って変更できない変数を作る
新人
「先輩、Javaで値を変更できない変数って作れるんですか?」
先輩
「できるよ。そういう変数のことを“定数”って言って、finalというキーワードを使うんだ。」
新人
「変数なのに値が変わらないって、どんなときに使うんですか?」
先輩
「よし、それじゃあ定数の使い方とメリットを詳しく見てみよう!」
1. Javaの定数とは何か?
Javaの「定数」とは、一度値を入れたら、そのあと変更できない変数のことです。プログラムの中で何度も変わらない値を使いたいときに、定数を使います。
たとえば、「消費税率」や「1年間の日数」などは、途中で変わることがありませんよね。そういった値は定数として宣言すると、あとから間違って書き換えてしまうのを防げます。
Javaでは、定数を作るときにfinalというキーワードを使います。定数は「変更できない変数」として扱われます。
2. finalを使うと何ができるか
finalを使った変数は、一度代入したら変更できないという特徴があります。通常の変数は後から別の値を入れることができますが、finalを付けるとそれができなくなります。
final int DAYS_IN_WEEK = 7;
このように書くと、「DAYS_IN_WEEK」という変数には7という値が固定されることになり、プログラムの中でこの値はずっと変わりません。
間違ってこの変数に別の値を入れようとすると、コンパイルエラーになります。
3. 定数を使うとどんなメリットがあるのか
Javaで定数を使うと、次のようなメリットがあります。
- 値を固定できるので、プログラムの信頼性が上がる
- 意味のある名前をつけることで、コードが読みやすくなる
- 途中で書き換えてしまうミスを防げる
たとえば、税込価格を計算するときに「0.1」という値を毎回書くよりも、定数として用意しておくと意味がはっきりします。
final double TAX_RATE = 0.1;
double price = 1000;
double tax = price * TAX_RATE;
このように書けば、「TAX_RATE」は消費税率として使われていることがすぐにわかります。初心者にとっても、意味が見えるコードは理解しやすくなります。
また、複数の場所で同じ値を使うときにも定数が便利です。値を変えたいときは定数の場所だけ変更すれば済むので、メンテナンスもしやすくなります。
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をつけた変数に再代入しようとするとどうなる?(エラーの例)
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)で定数の値を確認する方法
Javaで作成したfinal定数が正しく動作しているかどうかは、Eclipse(Pleiades)で簡単に確認することができます。
以下の手順で定数の値を表示してみましょう。
- Eclipseを起動し、新しい「Javaプロジェクト」を作成します。
- その中に新しい「クラス」を作成します。
- 次のコードを入力します。
public class FinalCheck {
public static void main(String[] args) {
final String COMPANY_NAME = "Tech Corp";
System.out.println("会社名:" + COMPANY_NAME);
}
}
- メニューから「実行」→「Javaアプリケーション」を選び、プログラムを実行します。
会社名:Tech Corp
このように、EclipseでSystem.out.println()を使えば、定数の値をコンソール画面に出力して確認できます。
プログラムが正しく動いているかを初心者がチェックするには、実際に値を出力して確かめることが一番わかりやすい方法です。