Java | final変数(定数のように使う)

Java Java
スポンサーリンク

要点まとめ

1. finalをつけるとどうなる?

  • 一度だけ値を代入できる変数になる
  • つまり「定数」として扱える
  • 代入後に値を変えようとするとコンパイルエラーになる
final int NUMBER = 10;
NUMBER = 20; // エラー!変更できない
Java

2. 代入のタイミング

  • 宣言と同時に代入する方法
final float PI = 3.1415F;
Java
  • 宣言だけして、あとから一度だけ代入する方法
final int SPECIAL_POINT;
SPECIAL_POINT = 100; // ここで初めて代入OK
Java

3. なぜ使うの?

  • 値を固定できるので、プログラムの信頼性が上がる
  • 例えば「消費税率」や「円周率」など、変わらない値を表すのに便利
  • 値を直接書くよりも、修正が簡単(1か所直せば全体に反映される)

4. 命名ルール

  • 定数として使う場合は すべて大文字
  • 複数の単語は アンダースコアで区切る
final int MAX_VALUE = 100;
final float TAX_RATE = 0.1F;
Java

5. サンプルコード

この例では、税率 TAX を定数として定義し、料金計算に使っています。

class JSample {
    public static void main(String[] args) {
        final float TAX = 0.1F; // 消費税率
        float price = 800 * (1 + TAX);
        System.out.println("料金は" + price + "です");
    }
}
Java

なぜ final を使うのか?(メリット)

  • 何度も同じ値を使うような「変更されない値」を、定数として明示できるので、プログラムが読みやすくなります。
  • 値を直接「数値そのもの」でズラーッと使う代わりに、意味のある名前(例えば TAX)を使うことで誤記入(ケアレスミス)を減らせます。
  • もし将来その “定数” の値を変更したくなったとき(例えば税率が変わったとき)、コード中の “数値そのもの” を探して全部直すよりも、定数変数一か所だけ直せば済む仕組みにできます。
  • final を付けることで「この変数はあとで変更されない」という意図が明確になり、プログラムの保守性が高まります。

初心者が注意すべきポイント

  • final を付けた変数は「一度だけ値を代入」できます。宣言時に初期値を設定しなかった場合は、あとで 1 回だけ代入が可能です。2 回以上代入しようとするとコンパイルエラーになります。
  • 命名規則として、定数用途の変数名には すべて大文字+アンダースコア が推奨されます(例: MAX_COUNT, TAX_RATE)というスタイルを覚えておくと良いです。
  • final だからと言って「値が変わらない保証」がどこまでもあるわけではありません。例えば配列やオブジェクトを final で宣言した場合、変数自体(参照先)を変更できないという意味で、参照先の中身(配列の要素やオブジェクトのプロパティ)は変更できることがあります(このページでは扱っていませんが、将来知っておくと良いです)。

まとめ

  • finalをつけると「一度だけ代入できる変数」=「定数」になる
  • 変更されない値を表すときに使うと便利
  • 命名は大文字+アンダースコアが基本

こういう「定数」を使う習慣は、コードを読みやすくしてバグも減らせます。

タイトルとURLをコピーしました